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

Disassembly:
sub esp, 0x6b4
mov dword [esp + 0x94], 0xc53a78
xor edx, edx
push ebx
xor ebx, ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x84], 0x9a29e0
imul eax, dword [esp + 0x84], 0x43
push ebp
push esi
push edi
push 0x4b
mov dword [esp + 0x94], eax
mov edi, 0xf263bb3
xor dword [esp + 0x94], 0x2858f589
mov dword [esp + 0x3c], 0x7cee6f
add dword [esp + 0x3c], 0xffffbb78
shr dword [esp + 0x3c], 4
shl dword [esp + 0x3c], 2
xor dword [esp + 0x3c], 0x13838b
mov dword [esp + 0x1c], 0xe220d7
shr dword [esp + 0x1c], 2
add dword [esp + 0x1c], 0xffff61a3
shr dword [esp + 0x1c], 6
xor dword [esp + 0x1c], 0x7d40e
mov dword [esp + 0x80], 0x985aa0
shr dword [esp + 0x80], 5
xor dword [esp + 0x80], 0x2d9a0
mov dword [esp + 0x2c], 0x451430
imul eax, dword [esp + 0x2c], 0x25
pop esi
push 9
pop ecx
push 0x1b
mov dword [esp + 0x2c], eax
or dword [esp + 0x2c], 0x99061cd6
add dword [esp + 0x2c], 0x8f36
xor dword [esp + 0x2c], 0x9a05f76d
mov dword [esp + 0x44], 0x3fe2c5
add dword [esp + 0x44], 0x5bd4
add dword [esp + 0x44], 0xffff4df8
xor dword [esp + 0x44], 0x368e44
mov dword [esp + 0x4c], 0x6abff5
shl dword [esp + 0x4c], 0xb
mov eax, dword [esp + 0x4c]
div esi
xor edx, edx
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0x12461a9
mov dword [esp + 0x84], 0x82e499
mov eax, dword [esp + 0x84]
div ecx
xor edx, edx
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0xf8b3e
mov dword [esp + 0x7c], 0xa46a01
imul eax, dword [esp + 0x7c], 0x4a
pop ecx
mov dword [esp + 0x78], eax
xor dword [esp + 0x78], 0x2f86ced4
mov dword [esp + 0x24], 0x3756fe
shl dword [esp + 0x24], 0xc
add dword [esp + 0x24], 0x7498
add dword [esp + 0x24], 0x7c1b
xor dword [esp + 0x24], 0x7570da9c
mov dword [esp + 0x34], 0x50d4b4
xor dword [esp + 0x34], 0x6bc3f89a
mov eax, dword [esp + 0x34]
div esi
xor edx, edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
div ecx
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x9e21b
mov dword [esp + 0x68], 0x6d8282
shr dword [esp + 0x68], 0xd
shr dword [esp + 0x68], 0xe
xor dword [esp + 0x68], 0x44feb
mov dword [esp + 0x2c], 0x73ad6f
add dword [esp + 0x2c], 0xffff094e
add dword [esp + 0x2c], 0x9944
imul eax, dword [esp + 0x2c], 0x24
xor edx, edx
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x103efc67
mov dword [esp + 0x54], 0xff01ff
shl dword [esp + 0x54], 2
add dword [esp + 0x54], 0xffffe1f3
xor dword [esp + 0x54], 0x3f175c7
mov dword [esp + 0x44], 0x28dc00
shl dword [esp + 0x44], 0xb
imul eax, dword [esp + 0x44], 0x75
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0x6463873f
mov dword [esp + 0x70], 0xb3c3a9
shr dword [esp + 0x70], 7
xor dword [esp + 0x70], 0xf7ef1
mov dword [esp + 0x88], 0x8de3d0
xor dword [esp + 0x88], 0x2d53318a
xor dword [esp + 0x88], 0x2dd8a929
mov dword [esp + 0x30], 0xaa0d67
shl dword [esp + 0x30], 5
add dword [esp + 0x30], 0xffff2d27
shl dword [esp + 0x30], 0xb
xor dword [esp + 0x30], 0x6dd9adc
mov dword [esp + 0x60], 0x880085
xor dword [esp + 0x60], 0x5843fe85
add dword [esp + 0x60], 0x231d
xor dword [esp + 0x60], 0x58c7c03b
mov dword [esp + 0x20], 0xd425e
xor dword [esp + 0x20], 0xe7a82e22
or dword [esp + 0x20], 0xb69764ce
xor dword [esp + 0x20], 0xac7247f5
xor dword [esp + 0x20], 0x5bc97165
mov dword [esp + 0x50], 0x3eac29
add dword [esp + 0x50], 0xf3e9
add dword [esp + 0x50], 0x5d58
xor dword [esp + 0x50], 0x332ac5
mov dword [esp + 0x74], 0x7d28a6
mov eax, dword [esp + 0x74]
div esi
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0xbd765
mov dword [esp + 0x10], 0xa572b8
xor dword [esp + 0x10], 0xb8e720db
imul eax, dword [esp + 0x10], 0x1f
mov dword [esp + 0x10], eax
shr dword [esp + 0x10], 0xc
xor dword [esp + 0x10], 0xcc6d6
mov dword [esp + 0x9c], 0xbf4355
add dword [esp + 0x9c], 0xffff6ba0
xor dword [esp + 0x9c], 0xb18364
mov dword [esp + 0x84], 0xd9578e
imul eax, dword [esp + 0x84], 0x36
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x2dde1f15
mov dword [esp + 0xa0], 0xd71808
add dword [esp + 0xa0], 0xffff229f
xor dword [esp + 0xa0], 0xde4857
mov dword [esp + 0x5c], 0x3933f
or dword [esp + 0x5c], 0xb6be5e49
add dword [esp + 0x5c], 0xffff6561
xor dword [esp + 0x5c], 0xb6bf2029
mov dword [esp + 0x14], 0x425cfd
add dword [esp + 0x14], 0x2ebc
imul eax, dword [esp + 0x14], 0x71
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0xcc70
xor dword [esp + 0x14], 0x1d6a0dc7
mov dword [esp + 0x8c], 0x12b110
xor dword [esp + 0x8c], 0x9c4ef664
xor dword [esp + 0x8c], 0x9c592b03
mov dword [esp + 0x4c], 0x30852b
or dword [esp + 0x4c], 0x2effb4bb
xor dword [esp + 0x4c], 0x2efb99ad
mov dword [esp + 0x94], 0x396977
shl dword [esp + 0x94], 3
xor dword [esp + 0x94], 0x1c690fb
mov dword [esp + 0x98], 0xf1c994
add dword [esp + 0x98], 0xffff5d4e
xor dword [esp + 0x98], 0xf592b7
mov dword [esp + 0x1c], 0xcdf835
imul eax, dword [esp + 0x1c], 0x15
xor edx, edx
push 0x23
pop ecx
push 0x58
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x20], eax
shr dword [esp + 0x20], 7
xor dword [esp + 0x20], 0x8875e874
xor dword [esp + 0x20], 0x88547c80
mov dword [esp + 0x70], 0x9e177b
mov eax, dword [esp + 0x70]
div ecx
xor edx, edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x70], eax
xor dword [esp + 0x70], 0x801ba
mov dword [esp + 0x40], 0x833244
mov eax, dword [esp + 0x40]
pop ecx
div ecx
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 0xffff29ab
xor dword [esp + 0x3c], 0xb309104b
xor dword [esp + 0x3c], 0xb30fc93a
mov dword [esp + 0x64], 0x89319
add dword [esp + 0x64], 0xffffe385
shr dword [esp + 0x64], 1
xor dword [esp + 0x64], 0x359fc
mov dword [esp + 0x58], 0xb0d085
add dword [esp + 0x58], 0xffffad84
add dword [esp + 0x58], 0x524e
xor dword [esp + 0x58], 0xb8e09e
cmp edi, 0x3a93094
je 0x10003f55
cmp edi, 0x4998593
je 0x10003f3c
cmp edi, 0xb0df35a
je 0x10003fa3
cmp edi, 0xbef79cd
je 0x10003ed0
cmp edi, 0xdc22caf
je 0x10003e1e
cmp edi, 0xf263bb3
jne 0x10003f95
lea eax, [esp + 0xac]
push eax
push dword [esp + 0x2c]
push 0x208
push dword [esp + 0x88]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
call fcn.1000e545
add esp, 0x10
mov edi, 0x4998593
jmp 0x10003dab
push ecx
push ecx
push dword [esp + 0x58]
lea eax, [esp + 0x4c8]
push dword [esp + 0x9c]
push ecx
push eax
push dword [esp + 0x38]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x4c]
call fcn.1001d7ed
add esp, 0x1c
push dword [esp + 0x10]
mov edx, dword [esp + 0x78]
push ecx
lea ecx, [esp + 0x2bc]
call fcn.1000f875
push 0x100015c8
push dword [esp + 0xac]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0xac]
call fcn.10017af5
push dword [esp + 0x5c]
mov esi, eax
lea ecx, [esp + 0x4d0]
push ebp
push esi
push dword [esp + 0xa8]
lea eax, [esp + 0x2d4]
push dword [esp + 0x34]
push dword [esp + 0x80]
push eax
call fcn.1001baff
push dword [esp + 0x48]
mov edx, esi
push dword [esp + 0xc8]
mov ecx, dword [esp + 0xc8]
call fcn.100063e1
add esp, 0x34
mov edi, 0xb0df35a
jmp 0x10003dab
push 0x100014c8
push dword [esp + 0x28]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
call fcn.10017af5
push dword [esp + 0x5c]
mov esi, eax
lea eax, [esp + 0xb8]
push eax
push dword [esp + 0x3c]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x48]
push esi
call fcn.100056e8
push dword [esp + 0xa0]
mov edi, eax
mov edx, esi
push dword [esp + 0x8c]
mov ecx, dword [esp + 0x64]
neg edi
sbb edi, edi
and edi, 0x9c09ca7
add edi, 0x4019008
call fcn.100063e1
add esp, 0x20
jmp 0x10003f95
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
call fcn.1001740f
mov ebp, eax
mov edi, 0x3a93094
jmp 0x10003dab
mov eax, ebp
cmp word [ebp], bx
je 0x10003f90
cmp word [eax], 0x2c
jne 0x10003f88
lea edx, [esp + 0xac]
jmp 0x10003f78
cmp cx, 0x20
je 0x10003f83
mov word [edx], cx
add edx, 2
add eax, 2
movzx ecx, word [eax]
test cx, cx
jne 0x10003f6c
xor ecx, ecx
mov word [edx], cx
add eax, 2
cmp word [eax], bx
jne 0x10003f5d
mov edi, 0xbef79cd
cmp edi, 0x4019008
jne 0x10003dab
jmp 0x10003fc7
push dword [esp + 0x58]
xor edx, edx
push ebx
push ebp
push dword [esp + 0x70]
push dword [esp + 0x4c]
push ebx
push ecx
mov ecx, dword [esp + 0x88]
call fcn.10014a72
xor ebx, ebx
add esp, 0x1c
inc ebx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x6b4
ret