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

Disassembly:
push 0xffffffffffffffff
push 0x100eb01c
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x10132f1c]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10132f1c]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0x11c]
mov ebp, dword [esp + 0x120]
xor edi, edi
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xcc], edi
nop
mov dword [edx], 0xffffffff
mov dword [eax], 0xffffffff
push ebx
pop ebx
fld qword [0x100ee8f0]
fld qword [esp + 0x124]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x100556c2
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x100556c4
cmp dword [esp + 0x12c], 3
ja 0x100556c4
push ebx
pop ebx
mov ah, ah
mov dword [esp + 0x14], edi
mov edi, edi
mov eax, eax
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x128]
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x128]
push edx
mov edx, dword [esp + 0x128]
push eax
mov eax, dword [esp + 0x128]
push edx
push eax
push ecx
call fcn.1002a4f0
add esp, 0x28
test eax, eax
je 0x100556c4
fld1
fsub qword [esp + 0x124]
fnstcw word [esp + 0x24]
movzx eax, word [esp + 0x24]
fmul qword [0x100ee9f0]
or eax, 0xc00
mov dword [esp + 0xd0], eax
fldcw word [esp + 0xd0]
fistp qword [esp + 0xec]
mov ebx, dword [esp + 0xec]
fldcw word [esp + 0x24]
mov ch, ch
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x38]
call fcn.1003b1d0
mov dword [esp + 0x100], edi
xchg ebx, eax
xchg ebx, eax
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x2c]
call fcn.1003b1d0
mov byte [esp + 0x100], 1
mov bl, bl
mov cl, cl
lea ecx, [esp + 0x40]
call fcn.1009eb71
mov byte [esp + 0x100], 2
mov ch, ch
push edi
lea eax, [esp + 0x44]
push eax
push 0x100ee8e4
push esi
call fcn.1002e570
add esp, 0x10
mov edi, eax
mov bh, bh
xor esi, esi
test edi, edi
jle 0x10054fb7
jmp 0x10054ee0
mov ch, ch
mov dword [esp + 0x24], 0
mov eax, eax
mov byte [esp + 0xdc], 0x25
mov byte [esp + 0xdd], 0x78
mov byte [esp + 0xde], 0x2d
mov byte [esp + 0xdf], 0x25
mov byte [esp + 0xe0], 0x78
mov byte [esp + 0xe1], 0
mov edx, edx
test esi, esi
jl 0x10055095
cmp esi, dword [esp + 0x48]
jge 0x10055095
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + esi*4]
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0xe4]
push edx
push eax
call fcn.100ac52d
add esp, 0x10
mov ebp, ebp
movzx eax, byte [esp + 0x26]
add eax, ebx
mov dword [esp + 0x94], eax
push ebx
pop ebx
movzx ecx, byte [esp + 0x25]
add ecx, ebx
mov dword [esp + 0x98], ecx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x24]
and edx, 0xff
add edx, ebx
mov dword [esp + 0x9c], edx
mov al, al
mov dword [esp + 0xa0], 0
mov edi, edi
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x38]
call fcn.1003ec10
mov bh, bh
add esi, 1
cmp esi, edi
jl 0x10054ee0
lea ecx, [esp + 0x54]
call fcn.1009eb71
mov byte [esp + 0x100], 3
mov esi, esi
push 0
lea ecx, [esp + 0x58]
push ecx
push 0x100ee910
push ebp
call fcn.1002e570
add esp, 0x10
mov dword [esp + 0xdc], eax
mov dl, dl
xor esi, esi
test eax, eax
mov dword [esp + 0xd0], esi
lea edi, [esi + 1]
jle 0x10055364
lea esp, [esp]
xor ebp, ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebp
mov byte [esp + 0x100], 6
mov ecx, ecx
lea ecx, [esp + 0xb8]
call fcn.1009eb71
mov byte [esp + 0x100], 7
mov edi, edi
cmp esi, ebp
jl 0x10055095
cmp esi, dword [esp + 0x5c]
jge 0x10055095
mov edx, dword [esp + 0x58]
mov eax, dword [edx + esi*4]
push ebp
lea ecx, [esp + 0xbc]
push ecx
push 0x100ee8e4
push eax
call fcn.1002e570
add esp, 0x10
mov ebp, eax
push eax
pop eax
cmp ebp, 3
jge 0x1005509a
mov byte [esp + 0x100], 6
lea ecx, [esp + 0xb8]
call fcn.1009ee46
mov byte [esp + 0x100], 3
lea ecx, [esp + 0xa4]
call fcn.1003b220
jmp 0x1005534e
jmp fcn.1009c45f
cmp dword [esp + 0xc0], 0
jle 0x10055095
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
lea ecx, [esp + 0xb0]
push ecx
push 0x100ee970
push eax
call fcn.100ac52d
add esp, 0xc
mov edi, edi
cmp dword [esp + 0xc0], edi
jle 0x10055095
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + 4]
lea ecx, [esp + 0xb4]
push ecx
push 0x100ee970
push eax
call fcn.100ac52d
add esp, 0xc
push ecx
pop ecx
mov esi, 2
cmp ebp, esi
jle 0x100552e9
lea ecx, [ecx]
mov bl, bl
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov esi, esi
cmp esi, ecx
jl 0x10055095
cmp esi, dword [esp + 0xc0]
jge 0x10055095
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*4]
xchg ebx, eax
xchg ebx, eax
cmp byte [eax], 0x2d
jne 0x10055137
mov dword [esp + 0xa0], edi
mov eax, eax
jmp 0x10055140
mov dword [esp + 0xa0], ecx
mov dh, dh
cmp dword [esp + 0xa0], ecx
je 0x100551bc
mov byte [esp + 0xec], 0x2d
mov byte [esp + 0xed], 0x25
mov byte [esp + 0xee], 0x78
mov byte [esp + 0xef], 0x2d
mov byte [esp + 0xf0], 0x25
mov byte [esp + 0xf1], 0x78
mov byte [esp + 0xf2], 0
mov edi, edi
cmp esi, dword [esp + 0xc0]
jge 0x10055095
mov eax, dword [esp + 0xbc]
mov eax, dword [eax + esi*4]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0xf4]
push ecx
push eax
call fcn.100ac52d
add esp, 0x10
push ecx
pop ecx
jmp 0x10055225
mov byte [esp + 0xe4], 0x25
mov byte [esp + 0xe5], 0x78
mov byte [esp + 0xe6], 0x2d
mov byte [esp + 0xe7], 0x25
mov byte [esp + 0xe8], 0x78
mov byte [esp + 0xe9], 0
mov bh, bh
cmp esi, dword [esp + 0xc0]
jge 0x10055095
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0xec]
push ecx
push eax
call fcn.100ac52d
add esp, 0x10
push ebx
pop ebx
movzx edx, byte [esp + 0x26]
add edx, ebx
mov dword [esp + 0x94], edx
mov cl, cl
movzx eax, byte [esp + 0x25]
add eax, ebx
mov dword [esp + 0x98], eax
mov ch, ch
mov ecx, dword [esp + 0x24]
and ecx, 0xff
add ecx, ebx
mov dword [esp + 0x9c], ecx
mov dh, dh
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0xac]
je 0x100552c1
mov edx, dword [esp + 0x90]
mov dword [eax], edx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x94]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x98]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa8]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x10], eax
add dword [esp + 0xa8], 0x14
jmp 0x100552dd
push edi
push edi
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x9c]
push ecx
push eax
lea ecx, [esp + 0xb8]
call fcn.1003b4d0
push edx
pop edx
add esi, edi
cmp esi, ebp
jl 0x10055100
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
lea edx, [esp + 0x24]
lea ecx, [esp + 0xa4]
je 0x10055310
push edx
push ecx
push eax
call fcn.10041710
add esp, 0xc
add dword [esp + 0x2c], 0x14
jmp 0x1005531e
push edi
push edi
push edx
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.10054bf0
nop
mov byte [esp + 0x100], 6
lea ecx, [esp + 0xb8]
call fcn.1009ee46
mov byte [esp + 0x100], 3
lea ecx, [esp + 0xa4]
call fcn.1003b220
mov esi, dword [esp + 0xd0]
add esi, edi
cmp esi, dword [esp + 0xdc]
mov dword [esp + 0xd0], esi
jl 0x10055000
mov eax, dword [esp + 0x12c]
test eax, eax
jne 0x1005542d
xor ebp, ebp
cmp dword [esp + 0x70], ebp
jle 0x1005565b
mov eax, dword [esp + 0x6c]
xor edi, edi
test eax, eax
jle 0x100553eb
lea esp, [esp]
mov edx, ebp
imul edx, dword [esp + 0x18]
add edx, dword [esp + 0x14]
lea eax, [edx + edi*4]
mov ah, ah
mov byte [eax + 3], 0
mov esi, esi
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.10037d10
add esp, 8
test eax, eax
je 0x100553e0
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ebp
push edi
push ecx
push edx
lea esi, [esp + 0x40]
call fcn.10038020
add esp, 0x18
test eax, eax
jne 0x100553f9
mov eax, dword [esp + 0x6c]
add edi, 1
cmp edi, eax
jl 0x10055390
add ebp, 1
cmp ebp, dword [esp + 0x70]
jl 0x10055383
jmp 0x1005565b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xd8]
add edi, eax
mov dword [ecx], edi
mov ebx, ebx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xd4]
add ebp, edx
mov dword [eax], ebp
mov ah, ah
mov dword [esp + 0xcc], 1
mov edi, edi
jmp 0x1005565b
cmp eax, edi
jne 0x100554e9
mov ebp, dword [esp + 0x70]
add ebp, 0xffffffff
js 0x1005565b
mov eax, dword [esp + 0x6c]
xor edi, edi
test eax, eax
jle 0x100554ab
lea esp, [esp]
mov ecx, ebp
imul ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
lea eax, [ecx + edi*4]
push ebx
pop ebx
mov byte [eax + 3], 0
mov bl, bl
mov edx, dword [eax]
push edx
lea eax, [esp + 0x38]
push eax
call fcn.10037d10
add esp, 8
test eax, eax
je 0x100554a0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push ebp
push edi
push eax
push ecx
lea esi, [esp + 0x40]
call fcn.10038020
add esp, 0x18
test eax, eax
jne 0x100554b5
mov eax, dword [esp + 0x6c]
add edi, 1
cmp edi, eax
jl 0x10055450
sub ebp, 1
jns 0x10055446
jmp 0x1005565b
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xd8]
add edi, edx
mov dword [eax], edi
mov esi, esi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xd4]
add ebp, ecx
mov dword [edx], ebp
mov edi, edi
mov dword [esp + 0xcc], 1
mov dh, dh
jmp 0x1005565b
cmp eax, 2
jne 0x100555a7
xor ebp, ebp
cmp dword [esp + 0x70], ebp
jle 0x1005565b
mov edi, edi
mov edi, dword [esp + 0x6c]
add edi, 0xffffffff
js 0x10055565
lea esp, [esp]
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edi*4]
mov bl, bl
mov byte [eax + 3], 0
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.10037d10
add esp, 8
test eax, eax
je 0x10055560
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push ebp
push edi
push edx
push eax
lea esi, [esp + 0x40]
call fcn.10038020
add esp, 0x18
test eax, eax
jne 0x10055573
sub edi, 1
jns 0x10055510
add ebp, 1
cmp ebp, dword [esp + 0x70]
jl 0x10055500
jmp 0x1005565b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd8]
add edi, ecx
mov dword [edx], edi
mov ah, ah
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xd4]
add ebp, eax
mov dword [ecx], ebp
mov ebp, ebp
mov dword [esp + 0xcc], 1
push ebx
pop ebx
jmp 0x1005565b
cmp eax, 3
jne 0x1005565b
mov ebp, dword [esp + 0x70]
add ebp, 0xffffffff
js 0x1005565b
lea ecx, [ecx]
mov edi, dword [esp + 0x6c]
add edi, 0xffffffff
js 0x10055625
lea esp, [esp]
mov edx, ebp
imul edx, dword [esp + 0x18]
add edx, dword [esp + 0x14]
lea eax, [edx + edi*4]
push edx
pop edx
mov byte [eax + 3], 0
mov edx, edx
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.10037d10
add esp, 8
test eax, eax
je 0x10055620
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ebp
push edi
push ecx
push edx
lea esi, [esp + 0x40]
call fcn.10038020
add esp, 0x18
test eax, eax
jne 0x1005562c
sub edi, 1
jns 0x100555d0
sub ebp, 1
jns 0x100555c0
jmp 0x1005565b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xd8]
add edi, eax
mov dword [ecx], edi
push ecx
pop ecx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xd4]
add ebp, edx
mov dword [eax], ebp
push eax
pop eax
mov dword [esp + 0xcc], 1
mov cl, cl
mov ecx, dword [esp + 0x14]
push ecx
call fcn.100aa16b
add esp, 4
mov dword [esp + 0x14], 0
mov ebp, ebp
mov byte [esp + 0x100], 2
lea ecx, [esp + 0x54]
call fcn.1009ee46
mov byte [esp + 0x100], 1
lea ecx, [esp + 0x40]
call fcn.1009ee46
mov byte [esp + 0x100], 0
lea ecx, [esp + 0x28]
call fcn.10054b00
mov dword [esp + 0x100], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.1003b220
mov eax, dword [esp + 0xcc]
jmp 0x100556c6
fstp st(0)
xor eax, eax
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.100aa646
add esp, 0xf0
ret