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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x60], ecx
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x64], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x68], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], eax
mov al, byte [ebp + 0x18]
mov byte [esi + 0x77], al
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x78], eax
lea eax, [ebp + 0xc]
mov dword [esi + 0x7c], eax
mov eax, dword [0x10290680]
xor eax, ebp
mov dword [esi + 0x90], eax
mov eax, dword [0x10288ffc]
sub eax, dword [0x10289000]
sub eax, 0x9cea0259
mov edi, 0xffffffff
xor edi, 0xde9a96f3
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xde9a96f3
or eax, 0xde9a96f3
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7870c18d
mov edi, 0xffffffff
xor edi, 0x7870c18d
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x7870c18d
or eax, 0x7870c18d
imul eax, edx
add eax, ecx
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], 0x49c2b8e6
lea eax, [esi + 0x8c]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x5c], eax
sub eax, 0xb4ae1869
je 0x10085509
jmp 0x100854a7
mov eax, dword [esi + 0x5c]
sub eax, 0xfcbc54bb
je 0x10085690
jmp 0x100854ba
mov eax, dword [esi + 0x5c]
sub eax, 0x49c2b8e6
je 0x100854e5
jmp 0x100854cd
mov eax, dword [esi + 0x5c]
sub eax, 0x58e75ce3
je 0x10085676
jmp 0x100854e0
jmp 0x100857c5
mov ecx, 0xfcbc54bb
mov eax, 0xb4ae1869
cmp dword [esi + 0x88], 0x9f2617ff
cmovbe ecx, eax
mov eax, dword [esi + 0x84]
mov dword [eax], ecx
jmp 0x100857c5
mov ecx, dword [esi + 0x6c]
mov eax, dword [0x10289004]
mov edx, dword [0x10289008]
add eax, edx
xor eax, 0x335a7f24
add eax, 0x96a28cee
xor eax, 0x2c0dc2dc
mov dword [esi + 0x58], eax
push eax
mov eax, esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x34], edx
mov esp, edx
push eax
mov edx, esp
mov dword [esi + 0x2c], edx
mov dword [esi + 0x48], edx
push eax
mov edx, esp
mov edi, edx
push eax
mov ebx, esp
mov dword [esi + 0x30], ebx
sub esp, 0x40
mov ebx, esp
mov dword [esi + 0x4c], ebx
sub esp, 8
mov ebx, esp
mov dword [esi + 0x38], ebx
sub esp, 8
mov ebx, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x64]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x68]
mov dword [ecx], eax
mov eax, dword [esi + 0x2c]
mov cl, byte [esi + 0x77]
mov byte [eax], cl
mov ecx, dword [esi + 0x30]
mov eax, dword [esi + 0x78]
mov dword [edx], eax
mov eax, dword [esi + 0x34]
mov edx, dword [esi + 0x60]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [esi + 0x50], ecx
mov ecx, dword [eax]
mov dword [esi + 0x44], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x40], eax
mov ecx, dword [edi]
call fcn.1004c730
mov edx, dword [esi + 0x38]
mov ecx, eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x3c], ecx
lea ecx, [0x1025daeb]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.10094e00
mov ecx, dword [esi + 0x40]
add esp, 0x10
mov edx, eax
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0x40
call fcn.100882f0
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
add esp, 0x14
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x7c]
mov dl, byte [edx]
mov edi, dword [edi]
mov eax, dword [eax]
mov dword [ebx], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x50]
sub esp, 0x20
mov dword [esp], eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x54]
mov ebx, dword [ebx + 4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
movsx edx, dl
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.10086c00
mov edx, dword [esi + 0x58]
add esp, 0x20
mov ecx, 0x58e75ce3
mov eax, 0xb4ae1869
cmp edx, 0x4a6065d8
cmovbe ecx, eax
mov eax, dword [esi + 0x84]
mov dword [eax], ecx
jmp 0x100857c5
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.100b5a82
mov eax, dword [esi + 0x70]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov ecx, dword [esi + 0x6c]
push eax
mov eax, esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 8], edx
mov esp, edx
push eax
mov edx, esp
mov dword [esi], edx
mov dword [esi + 0x1c], edx
push eax
mov edx, esp
mov edi, edx
push eax
mov ebx, esp
mov dword [esi + 4], ebx
sub esp, 0x40
mov ebx, esp
mov dword [esi + 0x20], ebx
sub esp, 8
mov ebx, esp
mov dword [esi + 0xc], ebx
sub esp, 8
mov ebx, esp
mov dword [eax], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x64]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x68]
mov dword [ecx], eax
mov eax, dword [esi]
mov cl, byte [esi + 0x77]
mov byte [eax], cl
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x78]
mov dword [edx], eax
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x60]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [esi + 0x24], ecx
mov ecx, dword [eax]
mov dword [esi + 0x18], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x14], eax
mov ecx, dword [edi]
call fcn.1004c730
mov edx, dword [esi + 0xc]
mov ecx, eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x10], ecx
lea ecx, [0x1025daeb]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.10094e00
mov ecx, dword [esi + 0x14]
add esp, 0x10
mov edx, eax
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0x40
call fcn.100882f0
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
add esp, 0x14
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x7c]
mov dl, byte [edx]
mov edi, dword [edi]
mov eax, dword [eax]
mov dword [ebx], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x24]
sub esp, 0x20
mov dword [esp], eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x28]
mov ebx, dword [ebx + 4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
movsx edx, dl
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.10086c00
add esp, 0x20
mov eax, dword [esi + 0x84]
mov dword [eax], 0xb4ae1869
jmp 0x1008548e