Function at 0x10018996
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x11c
push ebx
mov ebx, dword [esp + 0x124]
mov eax, ecx
push ebp
push esi
push edi
push dword [esp + 0x13c]
mov edi, dword [esp + 0x13c]
push edi
push dword [esp + 0x13c]
mov dword [esp + 0xbc], eax
push ebx
push edx
push eax
call fcn.1000dd01
and dword [esp + 0xe8], 0
add esp, 0x18
mov dword [esp + 0xc8], 0xcbde53
xor edx, edx
mov dword [esp + 0xcc], 0x974d1f
xor esi, esi
mov dword [esp + 0x7c], 0x821b3a
mov ecx, 0xa7441f3
xor dword [esp + 0x7c], 0x7bde01d5
add dword [esp + 0x7c], 0xffff2f8e
xor dword [esp + 0x7c], 0x7b5b4a7d
mov dword [esp + 0xac], 0x57fa7f
mov eax, dword [esp + 0xac]
push 0x1f
pop ebp
div ebp
mov dword [esp + 0xb4], esi
mov dword [esp + 0xac], eax
xor dword [esp + 0xac], 0x2d6c8
mov dword [esp + 0x1c], 0xb6c810
or dword [esp + 0x1c], 0xcfa97f77
shl dword [esp + 0x1c], 0xc
xor dword [esp + 0x1c], 0xfff77040
mov dword [esp + 0x78], 0xf2cd17
imul eax, dword [esp + 0x78], 0x13
mov dword [esp + 0x78], eax
shr dword [esp + 0x78], 8
xor dword [esp + 0x78], 0x11d018
mov dword [esp + 0x48], 0xfc1710
add dword [esp + 0x48], 0xffff8c72
add dword [esp + 0x48], 0xffffe9fe
xor dword [esp + 0x48], 0x28629dde
xor dword [esp + 0x48], 0x289de700
mov dword [esp + 0x40], 0x52e212
imul eax, dword [esp + 0x40], 0x35
mov dword [esp + 0x40], eax
shl dword [esp + 0x40], 0xf
shl dword [esp + 0x40], 0xc
xor dword [esp + 0x40], 0xd008ed26
mov dword [esp + 0x70], 0x695693
shr dword [esp + 0x70], 0xe
add dword [esp + 0x70], 0xffff5228
xor dword [esp + 0x70], 0xfffe2f36
mov dword [esp + 0x20], 0x1a1fda
shl dword [esp + 0x20], 0xb
shr dword [esp + 0x20], 0xe
add dword [esp + 0x20], 0xffff3110
xor dword [esp + 0x20], 0xf90b
mov dword [esp + 0x84], 0xb64919
xor dword [esp + 0x84], 0x1c0e5658
imul eax, dword [esp + 0x84], 0x1a
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0xeabb65b9
mov dword [esp + 0x8c], 0xb06382
or dword [esp + 0x8c], 0x191b928b
add dword [esp + 0x8c], 0xffffdc4c
xor dword [esp + 0x8c], 0x19bf816b
mov dword [esp + 0xa8], 0xd623ec
add dword [esp + 0xa8], 0xffff7422
xor dword [esp + 0xa8], 0xde2c4f
mov dword [esp + 0x18], 0xd44c8
shr dword [esp + 0x18], 0xa
imul eax, dword [esp + 0x18], 0x77
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0x43a1
xor dword [esp + 0x18], 0x8dacf
mov dword [esp + 0xa4], 0x6ca91b
xor edx, edx
shl dword [esp + 0xa4], 0xb
xor dword [esp + 0xa4], 0x65450a94
mov dword [esp + 0x80], 0xbdfccd
add dword [esp + 0x80], 0xfc1
add dword [esp + 0x80], 0xffffd2e6
xor dword [esp + 0x80], 0xb5e095
mov dword [esp + 0x14], 0x78d6f1
imul eax, dword [esp + 0x14], 0x3c
push 0x78
pop ebp
push 0x4b
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
div ebp
xor edx, edx
mov dword [esp + 0x18], eax
shl dword [esp + 0x18], 7
xor dword [esp + 0x18], 0x1e370499
mov dword [esp + 0x50], 0xe1f02e
xor dword [esp + 0x50], 0x88b2fc31
add dword [esp + 0x50], 0x2781
xor dword [esp + 0x50], 0xb5482ff4
xor dword [esp + 0x50], 0x3d1a94ec
mov dword [esp + 0x40], 0xa54608
or dword [esp + 0x40], 0xb3cff7fc
shl dword [esp + 0x40], 0xe
xor dword [esp + 0x40], 0xfdf26986
mov dword [esp + 0x70], 0xc4fe0b
or dword [esp + 0x70], 0xd3b510d4
add dword [esp + 0x70], 0xc16f
xor dword [esp + 0x70], 0xd3f4a6d4
mov dword [esp + 0x9c], 0xb3612c
add dword [esp + 0x9c], 0xf7c2
add dword [esp + 0x9c], 0x7c3e
xor dword [esp + 0x9c], 0xba21bf
mov dword [esp + 0x68], 0xa8963f
or dword [esp + 0x68], 0xffdee7cc
xor dword [esp + 0x68], 0xfffefec2
mov dword [esp + 0x48], 0xe88026
mov eax, dword [esp + 0x48]
pop ebp
div ebp
push 0x61
mov dword [esp + 0x48], eax
xor edx, edx
add dword [esp + 0x48], 0x2a5d
shl dword [esp + 0x48], 0xd
xor dword [esp + 0x48], 0x6870eb82
mov dword [esp + 0x28], 0x8e7e29
xor dword [esp + 0x28], 0x609c3587
imul eax, dword [esp + 0x28], 0xf
pop ebp
push 0x4f
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x45
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x69f44fbb
mov dword [esp + 0x60], 0x2ed8e2
mov eax, dword [esp + 0x60]
div ebp
xor edx, edx
mov dword [esp + 0x60], eax
shl dword [esp + 0x60], 6
shr dword [esp + 0x60], 2
xor dword [esp + 0x60], 0xf4740
mov dword [esp + 0x30], 0x96dce7
xor dword [esp + 0x30], 0x6e95f4b6
add dword [esp + 0x30], 0xbc65
mov eax, dword [esp + 0x30]
pop ebp
div ebp
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x16aec75
mov dword [esp + 0x94], 0x3fd446
imul eax, dword [esp + 0x94], 0x29
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0xf4e29c6a
xor dword [esp + 0x94], 0xfed5a89c
mov dword [esp + 0x9c], 0x385d69
add dword [esp + 0x9c], 0x4f3a
xor edx, edx
xor dword [esp + 0x9c], 0x37538d
mov dword [esp + 0x74], 0x85c53e
mov eax, dword [esp + 0x74]
push 0x51
pop ebp
div ebp
push 0x12
mov dword [esp + 0x78], eax
xor edx, edx
shr dword [esp + 0x78], 1
xor dword [esp + 0x78], 0x983b5
mov dword [esp + 0x38], 0x4e69c9
imul eax, dword [esp + 0x38], 0x23
pop ebp
push 0x6c
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
div ebp
xor edx, edx
mov dword [esp + 0x38], eax
or dword [esp + 0x38], 0x573eb973
xor dword [esp + 0x38], 0x57b6ff2a
mov dword [esp + 0x58], 0xfd9203
xor dword [esp + 0x58], 0xc691e7d7
xor dword [esp + 0x58], 0x2463d615
shl dword [esp + 0x58], 9
xor dword [esp + 0x58], 0x1f460f2b
mov dword [esp + 0x3c], 0x5a084f
add dword [esp + 0x3c], 0xffff12af
add dword [esp + 0x3c], 0x3cee
shr dword [esp + 0x3c], 0xb
xor dword [esp + 0x3c], 0xb7837
mov dword [esp + 0x34], 0xe1be6c
shr dword [esp + 0x34], 0xd
or dword [esp + 0x34], 0xfcaad728
add dword [esp + 0x34], 0x9212
xor dword [esp + 0x34], 0xfca2b842
mov dword [esp + 0xa4], 0x6ab51d
imul eax, dword [esp + 0xa4], 0x1c
pop ebp
mov dword [esp + 0xa0], eax
xor dword [esp + 0xa0], 0xba3574c
mov dword [esp + 0x28], 0xc80ab2
shr dword [esp + 0x28], 3
mov eax, dword [esp + 0x28]
div ebp
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x26
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x33a18
mov dword [esp + 0x68], 0x168ead
shl dword [esp + 0x68], 0x10
imul eax, dword [esp + 0x68], 0x4f
mov dword [esp + 0x68], eax
xor dword [esp + 0x68], 0x767c420
mov dword [esp + 0x60], 0x60c177
add dword [esp + 0x60], 0xffffd0e7
or dword [esp + 0x60], 0x1642109b
xor dword [esp + 0x60], 0x6d74edf3
xor dword [esp + 0x60], 0x7b1e8dd8
mov dword [esp + 0x58], 0xfa0a41
shr dword [esp + 0x58], 2
add dword [esp + 0x58], 0xffff25e6
shl dword [esp + 0x58], 0xb
xor dword [esp + 0x58], 0xed4d34a0
mov dword [esp + 0x90], 0x9f6765
add dword [esp + 0x90], 0x17df
imul eax, dword [esp + 0x90], 0x11
mov dword [esp + 0x90], eax
xor dword [esp + 0x90], 0xa9f7370
mov dword [esp + 0x50], 0x34d173
add dword [esp + 0x50], 0xffffa98f
shl dword [esp + 0x50], 1
add dword [esp + 0x50], 0x4cb9
xor dword [esp + 0x50], 0x6942ad
mov dword [esp + 0x88], 0xbcc458
add dword [esp + 0x88], 0x6029
add dword [esp + 0x88], 0xe09
xor dword [esp + 0x88], 0xbd320a
mov ebp, dword [esp + 0xb0]
cmp ecx, 0x9017da2
jg 0x100191ad
je 0x10019133
cmp ecx, 0xc900bd
je 0x100190fc
cmp ecx, 0x27a79db
je 0x100190c6
cmp ecx, 0x2ed0667
je 0x10019285
cmp ecx, 0x89ca949
jne 0x10019277
push dword [esp + 0x98]
mov esi, dword [ebx]
mov edx, esi
push dword [esp + 0x70]
mov ecx, dword [esp + 0x44]
call fcn.1001ccca
mov eax, dword [esp + 0x24]
add esi, eax
push dword [esp + 0x64]
push dword [esp + 0xc4]
push esi
push dword [esp + 0x38]
mov edx, dword [esp + 0x5c]
push dword [esp + 0xd4]
mov ecx, dword [esp + 0x80]
call fcn.1000e018
add esi, dword [esp + 0xd8]
add esp, 0x1c
mov ecx, esi
push dword [esp + 0x74]
push ebp
push dword [esp + 0xa4]
push dword [esp + 0xa0]
mov edx, dword [esp + 0x3c]
call fcn.10003fd4
lea edx, [esi + ebp]
add esp, 0x10
mov ecx, esi
cmp esi, edx
jae 0x1001909e
movzx eax, byte [ecx]
cmp eax, dword [esp + 0x7c]
jne 0x10019099
mov byte [ecx], 0xc3
inc ecx
cmp ecx, edx
jb 0x1001908d
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
push 0
push 0xe
call fcn.1001e813
pop ecx
pop ecx
mov ecx, 0xeab24c4
mov byte [eax + esi], 0
mov esi, dword [esp + 0xb4]
jmp 0x10018fd2
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 4]
push ecx
call fcn.10015a10
mov dword [ebx], eax
pop ecx
test eax, eax
je 0x100190f2
xor esi, esi
mov ecx, 0x89ca949
inc esi
mov dword [esp + 0xb4], esi
jmp 0x10018fd2
mov ecx, 0xeab24c4
jmp 0x10018fd2
push dword [esp + 0x18]
lea edx, [esp + 0xc4]
push dword [esp + 0xac]
lea ecx, [esp + 0xc0]
call fcn.10006693
pop ecx
pop ecx
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x6e2e2ef
add ecx, 0x2ed0667
jmp 0x10018fd2
mov eax, dword [esp + 0xb0]
push dword [esp + 0x8c]
mov dword [esp + 0xd8], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0xf4], eax
mov eax, dword [edi]
mov dword [esp + 0xe8], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xec], eax
lea eax, [esp + 0xd8]
push eax
push dword [esp + 0x8c]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0x7c]
push eax
mov dword [esp + 0x104], 0x20
call fcn.1001ef6d
add esp, 0x10
test eax, eax
je 0x100192a7
mov ecx, 0xc900bd
jmp 0x10018fd2
cmp ecx, 0x9cfe956
je 0x1001923d
cmp ecx, 0xa7441f3
je 0x10019233
cmp ecx, 0xe0b62d3
je 0x10019201
cmp ecx, 0xeab24c4
jne 0x10019277
push dword [esp + 0x28]
push dword [esp + 0xa4]
push dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0xc4]
call fcn.1000ce30
add esp, 0xc
mov ecx, 0x2ed0667
jmp 0x10018fd2
push dword [edi]
lea eax, [esp + 0x10c]
push dword [esp + 0x44]
push dword [esp + 0x50]
push dword [esp + 0x84]
mov ecx, dword [edi + 4]
push eax
call fcn.10022a78
add esp, 0x14
test eax, eax
je 0x100192a7
mov ecx, 0x9017da2
jmp 0x10018fd2
mov ecx, 0xe0b62d3
jmp 0x10018fd2
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0xa4]
push dword [esp + 0x50]
push dword [esp + 0x8c]
call fcn.1001e813
pop ecx
pop ecx
mov ecx, dword [esp + 0xac]
mov ebp, eax
add ecx, ebp
add ecx, dword [esp + 0xbc]
mov dword [ebx + 4], ecx
mov ecx, 0x27a79db
cmp ecx, 0xaaad73a
jne 0x10018fd2
jmp 0x100192a7
push dword [esp + 0x90]
push dword [esp + 0x5c]
push dword [esp + 0x68]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0xcc]
call fcn.1000ce30
add esp, 0xc
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret