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

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
or ebx, 0xffffffff
mov dword [0x6830d4], ebp
mov dword [0x6830d8], ebp
mov dword [0x6830dc], ebp
mov dword [0x6830e0], ebp
mov eax, dword [esi + 4]
push edi
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x8c]
fld dword [edx + 0xa8]
fadd dword [esi + 0x174]
mov dword [esi + 0x18c], ebx
fstp dword [esi + 0x174]
cmp byte [eax + 0x48], 2
jbe 0x4134fc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 4
mov ecx, esi
call fcn.00419bd0
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x1e0]
and eax, 0xff
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x4136a0
push eax
mov ecx, esi
call fcn.0041a1d0
mov edi, eax
cmp edi, ebp
jne 0x413562
mov eax, dword [esi + 0x30]
mov dword [esi + 0x34], ebx
cmp eax, 0x258
jne 0x4136a0
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x54]
mov eax, dword [esi + 0x13c]
mov dword [esi + 0x134], eax
jmp 0x4136a0
mov ecx, dword [esi + 4]
cmp byte [ecx + 0x48], 2
jne 0x41365a
cmp byte [edi + 0x48], 2
jbe 0x41365a
cmp byte [edi + 0x4e], 0x50
je 0x41365a
mov eax, dword [esi + 0x30]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x2c]
cmp eax, 1
jne 0x41365a
mov ecx, dword [edi + 8]
cmp word [ecx + 0x16], 0xf
jne 0x4135c1
mov edx, dword [esi + 4]
mov eax, dword [edx + 8]
mov ax, word [eax + 0x10]
cmp ax, 0x24c
je 0x4135b7
cmp ax, 0x2a
jne 0x4135c1
cmp byte [edi + 0x48], 5
jbe 0x41365a
mov eax, dword [esi + 0x30]
mov byte [esi + 0x168], 0
cmp eax, 0x258
jne 0x41364a
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx + 0xdc]
cmp eax, 5
jne 0x41363b
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ebp
push 1
mov eax, dword [ecx]
mov dword [esp + 0x18], edx
call dword [eax + 0x128]
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
push ecx
mov ecx, dword [esi + 0x44]
fstp dword [esp]
push ecx
push edx
mov edx, dword [esp + 0x24]
push eax
mov ecx, esi
call dword [edx + 0x8c]
test eax, eax
jne 0x41362a
mov ecx, esi
call fcn.004176f0
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x54]
xor ebp, ebp
jmp 0x41365a
push 1
push ebx
mov ecx, esi
call fcn.00413400
mov dword [esi + 0x2c], ebx
xor ebp, ebp
jmp 0x41365a
push 1
push ebx
mov ecx, esi
call fcn.00413400
mov dword [esi + 0x2c], ebx
jmp 0x41365a
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x54]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
call fcn.005d5880
cmp eax, 1
jne 0x4136a0
mov eax, dword [esi + 0x2c]
cmp eax, ebx
je 0x4136a0
cmp eax, 0x64
jge 0x4136a0
cmp dword [esi + 0x28], 0x262
jne 0x4136a0
mov ecx, dword [esi + 4]
push edi
call fcn.00539280
fdivr dword [0x6364cc]
call fcn.0061318c
cmp eax, 0x63
jle 0x41369d
mov eax, 0x63
mov dword [esi + 0x2c], eax
cmp dword [esi + 0xa0], ebp
jne 0x4136c8
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 0x104]
test al, al
je 0x4136c8
mov ecx, dword [esi + 4]
push ebp
mov eax, dword [ecx]
call dword [eax + 0x108]
jmp 0x41388b
mov eax, dword [esi + 0xa0]
mov dword [esp + 0x10], ebp
cmp eax, ebp
jle 0x41388b
mov ebx, 1
mov eax, dword [esi + 0xa8]
lea ecx, [eax - 1]
cmp ebp, ecx
jle 0x413757
cmp ebx, eax
jl 0x4136f7
lea ebp, [eax + 0x20]
cmp ebp, ebx
jg 0x4136f9
mov ebp, ebx
lea edx, [ebp*4]
push edx
call fcn.0061317d
mov edi, eax
add esp, 4
test edi, edi
je 0x413753
mov ecx, dword [esi + 0xa8]
xor eax, eax
test ecx, ecx
jle 0x413738
cmp eax, ebp
jge 0x413738
mov ecx, dword [esi + 0x9c]
inc eax
mov edx, dword [ecx + eax*4 - 4]
mov dword [edi + eax*4 - 4], edx
mov ecx, dword [esi + 0xa8]
cmp eax, ecx
jl 0x41371b
mov eax, dword [esi + 0x9c]
push eax
call fcn.00613172
add esp, 4
mov dword [esi + 0x9c], edi
mov dword [esi + 0xa8], ebp
mov ebp, dword [esp + 0x10]
mov ecx, dword [esi + 0x9c]
mov edx, dword [ecx + ebp*4]
mov ecx, esi
push edx
call fcn.0041a1d0
mov edi, eax
test edi, edi
je 0x4137ae
mov ecx, edi
call fcn.00539bc0
test eax, eax
je 0x4137ae
cmp byte [edi + 0x48], 2
ja 0x4137ae
mov ecx, edi
call fcn.00539bc0
mov ecx, eax
call fcn.00413470
mov ecx, dword [esi + 4]
cmp eax, dword [ecx + 4]
jne 0x4137ae
mov eax, dword [esi + 0xa0]
inc ebp
inc ebx
cmp ebp, eax
mov dword [esp + 0x10], ebp
jl 0x4136df
jmp 0x41388b
mov ecx, dword [esi + 0xa8]
lea edx, [ecx - 1]
cmp ebp, edx
jle 0x413825
lea eax, [ebp + 1]
cmp eax, ecx
jl 0x4137c9
lea ebp, [ecx + 0x20]
cmp ebp, eax
jg 0x4137cb
mov ebp, eax
lea eax, [ebp*4]
push eax
call fcn.0061317d
mov edi, eax
add esp, 4
test edi, edi
je 0x413825
mov ecx, dword [esi + 0xa8]
xor eax, eax
test ecx, ecx
jle 0x41380a
cmp eax, ebp
jge 0x41380a
mov ecx, dword [esi + 0x9c]
inc eax
mov edx, dword [ecx + eax*4 - 4]
mov dword [edi + eax*4 - 4], edx
mov ecx, dword [esi + 0xa8]
cmp eax, ecx
jl 0x4137ed
mov eax, dword [esi + 0x9c]
push eax
call fcn.00613172
add esp, 4
mov dword [esi + 0x9c], edi
mov dword [esi + 0xa8], ebp
mov ecx, dword [esi + 0x9c]
mov edx, dword [esp + 0x10]
xor eax, eax
mov edi, dword [ecx + edx*4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
jle 0x413850
mov edx, dword [esi + 0x9c]
cmp dword [edx], edi
je 0x413850
inc eax
add edx, 4
cmp eax, ecx
jl 0x413844
cmp eax, ecx
jge 0x41388b
dec ecx
cmp eax, ecx
jge 0x413872
mov ecx, dword [esi + 0x9c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [esi + 0xa8]
dec ecx
cmp eax, ecx
jl 0x413859
mov eax, dword [esi + 0xa0]
dec eax
mov dword [esi + 0xa0], eax
jns 0x41388b
mov dword [esi + 0xa0], 0
mov eax, dword [esi + 4]
or edi, 0xffffffff
mov edx, dword [eax + 0x38]
mov dword [esi + 0x14c], edx
mov ecx, dword [eax + 0x3c]
mov dword [esi + 0x150], ecx
mov edx, dword [eax + 0x40]
mov dword [esi + 0x154], edx
mov ecx, dword [eax + 0x78]
xor edx, edx
cmp ecx, edi
mov dword [esp + 0x10], edx
je 0x4138ce
mov eax, dword [eax + 0xc]
push ecx
mov ecx, dword [eax + 0x8c]
call fcn.00604cb0
mov edx, eax
mov dword [esp + 0x10], edx
cmp dword [esi + 0x28], edi
jne 0x4138e8
test edx, edx
je 0x4138fd
cmp dword [edx + 0x33c], edi
jne 0x4138e8
cmp dword [edx + 0xf4], 1
jne 0x4138fd
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x38]
mov dword [esi + 0x16c], ecx
mov edx, dword [eax + 0x3c]
mov dword [esi + 0x170], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esi + 0x134]
mov edx, dword [esi + 0x140]
mov ecx, dword [esi + 0x144]
mov eax, dword [esi + 0x1c]
add ebx, edi
sub edx, edi
add ecx, edi
test eax, eax
mov dword [esi + 0x134], ebx
mov dword [esi + 0x140], edx
mov dword [esi + 0x144], ecx
mov ebp, 2
mov dword [esp + 0x1c], 0
jle 0x41397c
xor ebx, ebx
mov ebp, dword [esi + 0x24]
mov eax, dword [esi]
mov ecx, ebx
push edi
add ecx, ebp
push ecx
mov ecx, esi
call dword [eax + 0xd8]
mov ebp, eax
cmp ebp, 4
je 0x4139fb
cmp ebp, 3
je 0x41397c
cmp ebp, 0xd
je 0x41397c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x1c]
inc eax
add ebx, 0x18
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x413941
push edi
mov ecx, esi
call fcn.0041a140
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne case.0x4139a1.601
mov eax, dword [esi + 0x30]
add eax, 0xfffffda8
cmp eax, 0x14
ja case.0x4139a1.601
xor edx, edx
mov dl, byte [eax + 0x413bb0]
jmp dword [edx*4 + 0x413ba8]
mov dword [esi + 0x30], 0xffffffff
mov eax, dword [esi + 0x28]
cmp eax, 0xffffffff
je case.0x4139cd.618
test ebx, ebx
jne case.0x4139cd.618
add eax, 0xfffffd97
cmp eax, 0x67
ja case.0x4139cd.618
xor ecx, ecx
mov cl, byte [eax + 0x413bd0]
jmp dword [ecx*4 + 0x413bc8]
mov ecx, esi
call fcn.004176f0
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.00413400
mov edx, dword [esi + 4]
cmp byte [edx + 0x48], 2
jbe 0x413a0f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 4
push edi
mov ecx, esi
call fcn.0041a140
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 4
cmp dword [esi + 0x30], 0xffffffff
jne 0x413a4c
cmp ebp, 0xd
je 0x413a4c
test ebx, ebx
jne 0x413a4c
mov eax, dword [esi + 0x10]
xor edi, edi
test eax, eax
jle 0x413a4c
xor ebp, ebp
mov edx, dword [esi + 0x18]
mov eax, dword [esi]
mov ecx, ebp
push edi
add ecx, edx
push ecx
mov ecx, esi
call dword [eax + 0xd4]
cmp eax, 1
je 0x413a4c
mov eax, dword [esi + 0x10]
inc edi
add ebp, 0x24
cmp edi, eax
jl 0x413a29
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xe0]
cmp ebx, 1
jne 0x413a68
mov eax, dword [esi + 4]
mov ecx, dword [eax + 8]
cmp word [ecx + 0x16], 0x14
je 0x413abc
mov edx, dword [esi + 0x134]
mov eax, dword [esi + 0x138]
cmp edx, eax
jbe 0x413abc
mov ecx, dword [esi + 0x30]
or eax, 0xffffffff
cmp ecx, eax
jne 0x413abc
cmp dword [esi + 0x34], eax
je 0x413a97
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x9c]
test eax, eax
jne 0x413abc
mov edi, dword [esp + 0x10]
test edi, edi
je 0x413aad
push 0
mov ecx, edi
call fcn.00474f00
cmp eax, 1
jne 0x413ac0
mov dword [esi + 0x134], 0
jmp 0x413b64
mov edi, dword [esp + 0x10]
cmp dword [esi + 0x30], 0x263
je 0x413b3c
cmp dword [esi + 0x28], 0x2c7
je 0x413b3c
xor ebx, ebx
cmp edi, ebx
je 0x413ae4
mov ecx, edi
call fcn.00474f80
cmp eax, 1
je 0x413b3c
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 8]
cmp word [eax + 0x16], 3
jne 0x413b1a
mov eax, dword [esi + 0x30]
cmp eax, 0x26b
je 0x413b02
cmp eax, 0x26c
jne 0x413b1a
mov ecx, dword [esi + 0x134]
mov eax, dword [esi + 0x138]
cmp ecx, eax
jbe 0x413b70
mov dword [esi + 0x134], ebx
jmp 0x413b64
mov edx, dword [esi + 0x30]
or eax, 0xffffffff
cmp edx, eax
jne 0x413b29
cmp dword [esi + 0x34], eax
je 0x413b70
mov eax, dword [ecx + 0xc]
cmp dword [eax + 0x9c], ebx
jle 0x413b70
mov dword [esi + 0x134], ebx
jmp 0x413b70
mov eax, dword [esi + 0x140]
test eax, eax
jg 0x413b70
mov eax, dword [esi + 0x138]
mov dword [esi + 0x140], 0x7d0
cmp eax, 0x2710
jne 0x413b64
mov ecx, esi
call fcn.00417830
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0xdc]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
call fcn.005d5880
cmp eax, 1
jne 0x413b97
mov ecx, dword [esi + 0x144]
mov eax, dword [esi + 0x148]
cmp ecx, eax
jbe 0x413b97
mov ecx, esi
call fcn.004178b0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 4