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

Disassembly:
push 0xffffffffffffffff
push 0x5f96e2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7c
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x13]
push eax
push str.bonus
lea ecx, [esp + 0x54]
call fcn.00402f20
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0xa0]
xor edi, edi
mov dword [esp + 0x98], edi
call fcn.005b8470
mov ecx, dword [esp + 0x4c]
mov ebp, eax
mov eax, dword [esp + 0x54]
sub eax, ecx
cmp ecx, edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x94], 0xffffffff
mov esi, ecx
je 0x4248ff
cmp eax, 0x80
jbe 0x4248d9
push ecx
call fcn.005e05ca
jmp 0x4248fc
lea ebx, [eax - 1]
shr ebx, 3
push 0x655bd8
lea ebx, [ebx*4 + 0x655be0]
call fcn.00401450
mov edx, dword [ebx]
mov dword [esi], edx
mov dword [ebx], esi
mov dword [0x655bd8], edi
add esp, 4
cmp ebp, edi
mov dword [esp + 0x14], edi
jle 0x424d11
jmp 0x424910
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
push 8
mov dword [esp + 0x98], 1
call fcn.00401cc0
lea ecx, [eax + 8]
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov byte [eax], 0
lea edx, [esp + 0x13]
push edx
push str.bonus
lea ecx, [esp + 0x60]
mov dword [esp + 0x9c], 2
call fcn.00402f20
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x64]
push eax
push ecx
mov ecx, dword [esp + 0xbc]
lea edx, [esp + 0x78]
push edx
mov byte [esp + 0xb8], 3
call fcn.004242b0
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
sub eax, ecx
cmp ecx, edi
mov esi, ecx
je 0x4249e7
cmp eax, 0x80
jbe 0x4249c1
push ecx
call fcn.005e05ca
jmp 0x4249e4
lea ebx, [eax - 1]
shr ebx, 3
push 0x655bd8
lea ebx, [ebx*4 + 0x655be0]
call fcn.00401450
mov eax, dword [ebx]
mov dword [esi], eax
mov dword [ebx], esi
mov dword [0x655bd8], edi
add esp, 4
xor ebp, ebp
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edi
lea ecx, [esp + 0x13]
push ecx
push 0x60c437
lea ecx, [esp + 0x48]
mov byte [esp + 0x9c], 4
call fcn.00402f20
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ecx, eax
cmp eax, edx
mov eax, dword [esp + 0x44]
mov byte [esp + 0x94], 5
mov dword [esp + 0x18], ecx
je 0x424b5d
mov bl, byte [ecx]
cmp bl, 0x5f
je 0x424afb
cmp bl, 0x30
jl 0x424a4b
cmp bl, 0x39
jle 0x424afb
cmp bl, 0x61
jl 0x424a59
cmp bl, 0x7a
jle 0x424afb
cmp bl, 0x41
jl 0x424a67
cmp bl, 0x5a
jle 0x424afb
mov ebx, dword [esp + 0x40]
mov edx, eax
sub edx, ebx
jne 0x424a8b
xor ecx, ecx
mov edi, 0x60c437
mov esi, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x424a85
sbb edx, edx
sbb edx, 0xffffffff
xor edi, edi
test edx, edx
je 0x424aee
cmp ebp, dword [esp + 0x6c]
je 0x424aca
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebp
cmp ebp, edi
mov byte [esp + 0x94], 6
je 0x424ab9
lea eax, [esp + 0x40]
push eax
mov ecx, ebp
call fcn.00404e60
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
add ebp, 0xc
mov byte [esp + 0x94], 5
mov dword [esp + 0x68], ebp
jmp 0x424aee
push 1
push 1
lea ecx, [esp + 0x1b]
push ecx
lea edx, [esp + 0x4c]
push edx
push ebp
lea ecx, [esp + 0x78]
call fcn.00413520
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
je 0x424b48
mov byte [ebx], 0
mov eax, dword [esp + 0x40]
jmp 0x424b44
mov edx, dword [esp + 0x48]
lea ecx, [eax + 1]
cmp ecx, edx
jne 0x424b35
sub eax, dword [esp + 0x40]
cmp eax, 1
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x1c]
jb 0x424b23
lea ecx, [esp + 0x20]
mov edx, dword [ecx]
add edx, eax
push edx
lea ecx, [esp + 0x44]
call fcn.00402d00
mov eax, dword [esp + 0x44]
mov byte [eax + 1], 0
mov eax, dword [esp + 0x44]
mov byte [eax], bl
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
inc ecx
cmp ecx, edx
mov dword [esp + 0x18], ecx
jne 0x424a32
mov esi, dword [esp + 0x40]
sub eax, esi
jne 0x424b7d
xor ecx, ecx
mov edi, 0x60c437
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x424b77
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
test eax, eax
je 0x424bcc
cmp ebp, dword [esp + 0x6c]
je 0x424bb4
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebp
cmp ebp, edi
mov byte [esp + 0x94], 7
je 0x424ba3
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebp
call fcn.00404e60
add ebp, 0xc
mov byte [esp + 0x94], 5
mov dword [esp + 0x68], ebp
jmp 0x424bcc
push 1
push 1
lea edx, [esp + 0x1b]
push edx
lea eax, [esp + 0x4c]
push eax
push ebp
lea ecx, [esp + 0x78]
call fcn.00413520
mov eax, dword [0x655de0]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], eax
add eax, ecx
mov ecx, dword [esp + 0x2c]
lea edx, [eax - 1]
mov dword [0x655de0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x38]
dec eax
cmp eax, edi
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
jge 0x424c21
mov dword [esp + 0x78], edi
mov ecx, dword [0x655df0]
mov eax, dword [0x655dec]
cmp eax, ecx
lea ecx, [esp + 0x64]
je 0x424c4d
push ecx
push eax
call fcn.00423d00
mov eax, dword [0x655dec]
add esp, 8
add eax, 0x28
mov dword [0x655dec], eax
jmp 0x424c62
push 1
push 1
lea edx, [esp + 0x1b]
push edx
push ecx
push eax
mov ecx, 0x655de8
call fcn.00424710
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
sub eax, ebx
cmp ebx, edi
je 0x424ca5
cmp eax, 0x80
jbe 0x424c7f
push ebx
call fcn.005e05ca
jmp 0x424ca2
lea esi, [eax - 1]
shr esi, 3
push 0x655bd8
lea esi, [esi*4 + 0x655be0]
call fcn.00401450
mov edx, dword [esi]
mov dword [ebx], edx
mov dword [esi], ebx
mov dword [0x655bd8], edi
add esp, 4
lea ecx, [esp + 0x64]
call fcn.004136b0
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
sub eax, esi
cmp esi, edi
mov dword [esp + 0x94], 0xffffffff
je 0x424cfc
cmp eax, 0x80
jbe 0x424cd6
push esi
call fcn.005e05ca
jmp 0x424cf9
lea ebx, [eax - 1]
shr ebx, 3
push 0x655bd8
lea ebx, [ebx*4 + 0x655be0]
call fcn.00401450
mov eax, dword [ebx]
mov dword [esi], eax
mov dword [ebx], esi
mov dword [0x655bd8], edi
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x424910
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x88
ret