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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x77c880
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x116c
call fcn.0074dd20
push ebx
push esi
push edi
mov dword [esp + 0x54], ecx
call fcn.004089d0
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x5f733e
cmp byte [0x992082], bl
je 0x5f6791
push 0x1b16358
call dword [0x794290]
cmp byte [0x992082], bl
mov esi, dword [esi + 0x2714]
je 0x5f67aa
push 0x1b16358
call dword [0x79428c]
push ebx
push 0x97275c
push 0x971110
push ebx
push esi
call fcn.0074d229
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0xac], eax
je 0x5f733e
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [esp + 0xe0]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.005f6630
push 0xfff
lea edx, [esp + 0x17d]
push ebx
push edx
mov dword [esp + 0x1190], ebx
mov byte [esp + 0x184], bl
call fcn.0074d440
mov eax, dword [esp + 0xec]
add esp, 0xc
cmp dword [esp + 0xf4], 0x10
jae 0x5f681e
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 0x17c]
push 0x1000
push eax
call fcn.0067acb0
mov eax, dword [ebp + 8]
add esp, 0xc
add eax, 0xd
mov dword [esp + 0xd8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x14
lea ecx, [ecx]
mov edi, dword [esp + 0xc]
add edi, 0xfffffff6
mov eax, edi
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f6870
sub eax, esi
push eax
push edi
lea ecx, [esp + 0x38]
call fcn.00402660
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x94]
push 0x8ab9c0
push edx
mov byte [esp + 0x1190], 1
call fcn.00431280
push 0x8ab9bc
push eax
lea eax, [esp + 0xd0]
push eax
mov byte [esp + 0x119c], 2
call fcn.004b6b80
add esp, 0x18
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0x1184], 4
jb 0x5f68e5
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0074c96f
add esp, 4
mov edi, dword [esp + 0xc]
mov esi, 0xf
mov eax, edi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f6914
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x1c]
call fcn.00402660
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
mov eax, dword [esp + 0x34]
mov edi, 0x10
cmp dword [esp + 0x48], edi
mov byte [esp + 0x1184], 6
jae 0x5f6957
lea eax, [esp + 0x34]
cmp byte [eax], 0x44
je 0x5f69d6
cmp dword [esp + 0x2c], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
jb 0x5f6981
mov edx, dword [esp + 0x18]
push edx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0xd4], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x5f69a6
mov eax, dword [esp + 0xc0]
push eax
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x48], edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xc0], bl
mov byte [esp + 0x1184], bl
jb 0x5f6b6b
mov ecx, dword [esp + 0x34]
push ecx
jmp 0x5f6b63
cmp dword [esp + 0x2c], edi
mov eax, dword [esp + 0x18]
jae 0x5f69e4
lea eax, [esp + 0x18]
push eax
call fcn.00433940
mov edi, eax
mov ecx, edi
add esp, 4
mov dword [esp + 0xa8], esi
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x5f6a10
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0x98]
call fcn.00402660
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x80]
mov byte [esp + 0x1190], 7
call fcn.00402580
mov edi, 0x10
cmp dword [esp + 0xa8], edi
mov byte [esp + 0x1184], 6
jb 0x5f6a6e
mov eax, dword [esp + 0x94]
push eax
call fcn.0074c96f
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xd4], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x98]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00402580
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xe8], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0xfc]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push eax
mov byte [esp + 0x11c8], 8
mov byte [ecx + 4], bl
call fcn.00402580
lea ecx, [esp + 0x1b0]
push ecx
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x11c0], 6
call fcn.005f5f30
cmp dword [esp + 0x8c], edi
jb 0x5f6af2
mov edx, dword [esp + 0x78]
push edx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x2c], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
jb 0x5f6b17
mov eax, dword [esp + 0x18]
push eax
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0xd4], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x5f6b3c
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x48], edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xc0], bl
mov byte [esp + 0x1184], bl
jb 0x5f6b6b
mov edx, dword [esp + 0x34]
push edx
call fcn.0074c96f
add esp, 4
add dword [esp + 0xc], 0x1c
sub dword [esp + 0x10], 1
jne 0x5f6850
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xc], eax
mov dword [esp + 0xb8], 0x14
mov edi, dword [esp + 0xc]
add edi, 0xfffffff6
mov eax, edi
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f6bb0
sub eax, esi
push eax
push edi
lea ecx, [esp + 0x1c]
call fcn.00402660
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x94]
push 0x8ab9c0
push edx
mov byte [esp + 0x1190], 9
call fcn.00431280
push 0x8ab9bc
push eax
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x119c], 0xa
call fcn.004b6b80
add esp, 0x18
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0x1184], 0xc
jb 0x5f6c25
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0074c96f
add esp, 4
mov eax, dword [esp + 0xc]
mov esi, 0xf
mov dword [esp + 0xa8], esi
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f6c52
sub eax, edx
mov edx, dword [esp + 0xc]
push eax
push edx
lea ecx, [esp + 0x60]
call fcn.00402660
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
mov eax, dword [esp + 0x18]
mov edi, 0x10
cmp dword [esp + 0x2c], edi
mov byte [esp + 0x1184], 0xe
jae 0x5f6c93
lea eax, [esp + 0x18]
movsx eax, byte [eax]
add eax, 0xffffffbd
cmp eax, 0x12
ja case.0x5f6ca9.70
movzx eax, byte [eax + 0x5f7384]
jmp dword [eax*4 + 0x5f7358]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xcc], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x7c]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00402580
mov ecx, 0x999c08
call fcn.0046ed80
cmp eax, ebx
je 0x5f6d0b
mov edx, dword [eax + 0x1e4]
mov eax, edx
lea edi, [eax + 1]
jmp 0x5f6cf0
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f6cf0
sub eax, edi
push eax
push edx
lea ecx, [esp + 0x38]
call fcn.00402660
mov edi, 0x10
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xcc], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x54]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402580
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xb4]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov byte [esp + 0x11c8], 0x11
mov byte [ecx + 4], bl
call fcn.00402580
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x1b0]
push eax
mov byte [esp + 0x11c0], 0xe
call fcn.005f5f30
cmp dword [esp + 0x48], edi
jb case.0x5f6ca9.70
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x70], edi
mov byte [esp + 0x34], bl
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], esi
jb 0x5f6da5
mov edx, dword [esp + 0x5c]
push edx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x8c], edi
mov byte [esp + 0x5c], bl
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], esi
jb 0x5f6dc7
mov eax, dword [esp + 0x78]
push eax
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x2c], edi
mov byte [esp + 0x1184], bl
mov byte [esp + 0x78], bl
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], esi
jb 0x5f6df3
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0074c96f
add esp, 4
add dword [esp + 0xc], 0x1c
sub dword [esp + 0xb8], 1
jne 0x5f6b91
lea edi, [esp + 0x178]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
cmp al, bl
jne 0x5f6e10
mov dx, word [0x88e200]
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x178]
push eax
mov ecx, esi
mov word [edi], dx
call fcn.005f5850
lea ecx, [esp + 0x178]
push ecx
mov ecx, esi
call fcn.005f5af0
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
mov ecx, dword [esp + 0xac]
push str.AWARD
push edx
call fcn.00492480
mov ecx, dword [edi]
push ecx
push eax
lea edx, [esp + 0x180]
push edx
call fcn.00431410
movzx eax, word [ebp + 0x10]
add esp, 0xc
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [edi + 0x44]
mov dword [esp + 0xb4], eax
call fcn.005f5c70
mov esi, dword [esp + 0x4c]
mov eax, dword [edi + 0x4c]
add edi, 0x48
cmp esi, ebx
mov dword [esp + 0xb4], eax
je 0x5f6eaa
cmp esi, edi
je 0x5f6eaf
call fcn.0074ca9e
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0xb4]
je 0x5f72e8
mov edi, esi
mov esi, eax
jmp 0x5f72eb
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xcc], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x7c]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402580
mov ecx, 0xaae4cc
call fcn.00431330
mov edi, eax
cmp edi, ebx
je 0x5f6d06
push 0x7d
lea ecx, [esp + 0xfd]
push ebx
push ecx
mov byte [esp + 0x104], bl
call fcn.0074d440
mov eax, dword [edi + 0x1c]
mov edi, dword [edi]
push eax
push edi
push 0x8ab9ac
lea edx, [esp + 0x110]
push 0x7e
push edx
call fcn.0067ad00
lea eax, [esp + 0x118]
add esp, 0x20
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f6f40
sub eax, edx
push eax
lea eax, [esp + 0xfc]
push eax
jmp 0x5f6cfd
cmp dword [esp + 0x28], 1
jae 0x5f6f65
call fcn.0074ca9e
cmp dword [esp + 0x2c], edi
mov eax, dword [esp + 0x18]
jae 0x5f6f73
lea eax, [esp + 0x18]
movsx eax, byte [eax + 1]
sub eax, 0x47
je case.0x5f6ca9.67
sub eax, 1
jne 0x5f6d0b
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x10], 0x14
jmp 0x5f6fa0
lea edi, [esi - 0xa]
mov eax, edi
mov dword [esp + 0xd4], 0xf
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xc0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f6fc1
sub eax, edx
push eax
push edi
lea ecx, [esp + 0xc4]
call fcn.00402660
mov eax, esi
mov byte [esp + 0x1184], 0xf
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f7000
sub eax, edi
push eax
push esi
lea ecx, [esp + 0x98]
call fcn.00402660
cmp dword [esp + 0xd4], 0x10
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x1184], 0x10
jae 0x5f7039
lea eax, [esp + 0xc0]
cmp byte [eax], 0x49
jne 0x5f710a
cmp dword [esp + 0xd0], 1
jae 0x5f7051
call fcn.0074ca9e
cmp dword [esp + 0xd4], 0x10
mov edi, dword [esp + 0xc0]
jae 0x5f7069
lea edi, [esp + 0xc0]
cmp dword [esp + 0x28], 2
jae 0x5f7075
call fcn.0074ca9e
cmp dword [esp + 0x2c], 0x10
mov eax, dword [esp + 0x18]
jae 0x5f7084
lea eax, [esp + 0x18]
mov cl, byte [edi + 1]
cmp cl, byte [eax + 2]
jne 0x5f710a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xcc], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xb4]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00402580
mov ecx, dword [esp + 0x70]
call fcn.005f5e00
push eax
push 0x79a808
lea eax, [esp + 0x54]
push 8
push eax
mov byte [esp + 0x5c], bl
mov dword [esp + 0x5d], ebx
mov word [esp + 0x61], bx
mov byte [esp + 0x63], bl
call fcn.0067ad00
lea eax, [esp + 0x5c]
add esp, 0x10
lea edi, [eax + 1]
jmp 0x5f70f0
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f70f0
sub eax, edi
push eax
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x38]
call fcn.00402660
mov edi, 0x10
cmp dword [esp + 0xa8], edi
jb 0x5f7128
mov edx, dword [esp + 0x94]
push edx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0xd4], edi
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
mov byte [esp + 0x1184], 0xe
jb 0x5f7162
mov eax, dword [esp + 0xc0]
push eax
call fcn.0074c96f
add esp, 4
add esi, 0x1c
sub dword [esp + 0x10], 1
jne 0x5f6fa0
mov esi, 0xf
jmp 0x5f6d0b
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00402580
jmp 0x5f6d0b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xcc], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x7c]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00402580
mov ecx, 0x9991e0
call fcn.0045e150
cmp eax, ebx
je 0x5f6d0b
lea edx, [eax + 0x204]
mov eax, edx
lea edi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f71d0
jmp 0x5f6cf9
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x3c]
call fcn.00402580
jmp 0x5f6d0b
cmp dword [esp + 0x70], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
jb 0x5f7213
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x8c], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
jb 0x5f7235
mov edx, dword [esp + 0x78]
push edx
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x2c], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
mov byte [esp + 0x1184], bl
jb 0x5f6df3
mov eax, dword [esp + 0x18]
push eax
jmp 0x5f6deb
cmp dword [esp + 0x70], edi
mov eax, dword [esp + 0x5c]
jae 0x5f7270
lea eax, [esp + 0x5c]
push eax
mov ecx, 0xaad9b4
call fcn.004a2530
cmp eax, ebx
je 0x5f6d0b
lea edx, [eax + 0x20c]
mov eax, edx
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f7290
jmp 0x5f6cf9
cmp dword [esp + 0x70], edi
mov eax, dword [esp + 0x5c]
jae 0x5f72ac
lea eax, [esp + 0x5c]
push eax
mov ecx, 0xaae110
call fcn.004a2530
lea edi, [eax + 4]
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f72c0
sub eax, edx
push eax
push edi
jmp 0x5f6cfd
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x3c]
call fcn.00402580
jmp 0x5f6d0b
mov esi, dword [edi + 4]
cmp edi, ebx
jne 0x5f72f4
call fcn.0074ca9e
cmp esi, dword [edi + 4]
jne 0x5f72fe
call fcn.0074ca9e
lea eax, [esp + 0x178]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5f7308
sub eax, edx
push eax
lea ecx, [esp + 0x17c]
push ecx
lea ecx, [esi + 0xc]
call fcn.00402660
cmp dword [esp + 0xf4], 0x10
jb 0x5f733e
mov edx, dword [esp + 0xe0]
push edx
call fcn.0074c96f
add esp, 4
mov ecx, dword [esp + 0x117c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc