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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14c
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x148], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x24], ecx
xor ebx, ebx
mov dword [esp + 0x2c], edi
xor esi, esi
mov dword [esp + 0x10], ebx
mov ecx, dword [edi + 0x3d0]
add ecx, 6
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
xor edi, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x28], 0x2000
nop dword [eax + eax]
movzx eax, word [ecx - 2]
mov edx, eax
test ax, ax
js 0x42bef1
cmp dx, word [esp + 0x28]
jge 0x42bef1
mov edx, 0x180f
cmp ax, dx
jne 0x42bf98
inc ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add ecx, 0x10c
sub dword [esp + 0x18], 1
jne 0x42bed0
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
cmp ebx, 1
jne 0x42c2da
cmp eax, 1
jne 0x42c2da
cmp dword [esp + 0x1c], eax
jne 0x42c2da
cmp dword [esp + 0x20], eax
jne 0x42c2da
cmp edx, eax
jne 0x42c2da
cmp dword [esp + 0x18], eax
jne 0x42c2da
test esi, esi
je 0x42c2da
mov eax, dword [edi + 0x644]
lea esi, [edi + 0x3dc]
mov eax, dword [eax*4 + 0xbdb2d4]
cmp eax, 0xffffffff
jne 0x42bf7a
mov eax, 0x165e9f81
imul dword [esp + 0x24]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
push esi
push edi
mov dword [esi], eax
call fcn.00426200
test al, al
jne 0x42c063
mov dword [esp + 0x30], 0xf08610c1
jmp 0x42c2e2
mov edx, 0x1c16
cmp ax, dx
jne 0x42bfb0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
jmp 0x42bef5
mov edx, 0x181f
cmp ax, dx
jne 0x42bfc9
cmp word [ecx], 0
jne 0x42bfe2
inc dword [esp + 0x1c]
jmp 0x42bef1
mov edx, 0x181e
cmp ax, dx
jne 0x42bfe2
cmp word [ecx], 0
jne 0x42c02a
inc dword [esp + 0x20]
jmp 0x42bef1
mov edx, 0x1a34
cmp ax, dx
jne 0x42bffe
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
jmp 0x42bef9
mov edx, 0x1a35
cmp ax, dx
jne 0x42c00e
inc edi
jmp 0x42bef1
mov edx, 0x1a03
cmp ax, dx
je 0x42bef1
mov edx, 0x1a25
cmp ax, dx
je 0x42bef1
cmp byte [ecx + 0x99], 0
je 0x42bef1
cmp word [ecx], 9
jl 0x42bef1
cmp byte [ecx + 0x98], 1
mov edx, dword [esp + 0x14]
jb 0x42c05a
mov eax, dword [esp + 0x24]
inc esi
add eax, dword [ecx + 0x76]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
jmp 0x42bef9
push dword [esi]
push 8
push edi
call fcn.00411e50
mov ecx, dword [edi + 0x644]
mov edx, 0x64
mov dword [esi], eax
cmp dword [ecx*4 + 0xbdb2d4], 0xffffffff
jne 0x42c090
mov ecx, 0x28
cmp eax, ecx
cmovg eax, ecx
jmp 0x42c096
cmp eax, 0x64
cmovg eax, edx
mov dword [esi], eax
mov esi, dword [edi]
imul eax, eax, 0x30d40
push esi
mov dword [edi + 0x3d8], eax
mov ebx, dword [0x5d9188]
call fcn.00424cf0
test al, al
jne 0x42c0c0
push esi
call fcn.00424da0
test al, al
je 0x42c0c2
xor ebx, ebx
mov esi, dword [edi + 0x3d8]
mov eax, 0x51eb851f
mov ecx, esi
imul ecx, ebx
imul ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [edi + 0xe4]
lea eax, [esi + ebx]
mov esi, dword [edi]
mov dword [edi + 0x3d8], eax
cmp edx, eax
jae 0x42c100
mov dword [esp + 0x30], 0x28610c1
jmp 0x42c2e4
sub edx, eax
mov ecx, esi
mov dword [edi + 0xe4], edx
call fcn.004e9640
mov eax, dword [0x5d9194]
mov ecx, 0x5d9194
test eax, eax
jns 0x42c126
xor eax, eax
xchg dword [ecx], eax
mov eax, dword [0x5d9194]
test ebx, ebx
jle 0x42c137
add eax, ebx
cmp eax, 0x77359400
jg 0x42c137
lock xadd dword [ecx], ebx
call fcn.00526930
cdq
mov ecx, 0x64
idiv ecx
cmp edx, dword [edi + 0x3dc]
jge 0x42c21f
lea ecx, [esp + 0x40]
call fcn.00493c10
mov eax, ecx
push eax
push edi
push 0x43
call fcn.0049a340
mov esi, dword [edi]
test al, al
jne 0x42c177
mov dword [esp + 0x30], 0x8610c1
jmp 0x42c2e4
push 0
push dword [esp + 0x11c]
lea eax, [esp + 0x11b]
or dl, 0xff
push eax
push dword [esp + 0x11e]
cvttss2si eax, dword [esp + 0x70]
mov ecx, esi
push dword [esp + 0x11c]
movzx eax, al
push dword [esp + 0x10a]
push dword [esp + 0xf7]
push 0xffffffffffffffff
push dword [esp + 0xfe]
push dword [esp + 0x101]
push dword [esp + 0x104]
push eax
push dword [esp + 0x76]
movsx eax, word [esp + 0x78]
push eax
push 0
push 0
call fcn.00472500
push dword [edi + 0x3d8]
lea eax, [edi + 0x86]
push dword [edi + 0x3dc]
push eax
lea eax, [edi + 0x7b]
push eax
push str._Wing3Mix__Success___s___s_____ChaosSuccessRate:__d_ChaosMoney:__d_
push 7
push 0x9f30a0
call fcn.004b2600
add esp, 0x5c
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x148]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4
xor esi, esi
xor edx, edx
mov ecx, dword [edi + 0x3d0]
add ecx, edx
call fcn.00493c10
mov eax, dword [edi + 0x3d4]
lea esi, [esi + 1]
add edx, 0x10c
mov byte [esi + eax - 1], 0xff
cmp edx, 0x2180
jl 0x42c223
push 0
push edi
call fcn.00431130
mov esi, dword [edi]
mov al, 0x10
movzx eax, al
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0x8610c1
push eax
push esi
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
call fcn.005192f0
mov eax, dword [esi*4 + 0x20a514c]
mov dword [eax + 0x3e0], 0
lea eax, [edi + 0x86]
push dword [edi + 0x3d8]
push dword [edi + 0x3dc]
push eax
lea eax, [edi + 0x7b]
push eax
push str._Wing3Mix__Failure___s___s_____ChaosSuccessRate:__d_ChaosMoney:__d_
push 7
push 0x9f30a0
call fcn.004b2600
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x148]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4
mov dword [esp + 0x30], 0x78610c1
mov esi, dword [edi]
mov al, 0x10
mov dword [esp + 0x34], 0xffffffff
movzx eax, al
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x3c], 0xffffffff
push eax
push esi
mov dword [esp + 0x48], 0xffffffff
call fcn.005192f0
mov eax, dword [esi*4 + 0x20a514c]
mov ecx, dword [esp + 0x154]
pop edi
pop esi
pop ebx
xor ecx, esp
mov dword [eax + 0x3e0], 0
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4