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

Disassembly:
mov eax, 0x2fc4
call fcn.0081cf10
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2fd4]
mov eax, dword [esi + 0x14]
push edi
mov edi, ecx
push eax
mov ecx, esi
mov dword [esp + 0x5c], edi
call fcn.005b84a0
push str.rtsg
mov ecx, esi
call fcn.00419060
mov ecx, dword [esi + 0x14]
mov ebx, eax
push ecx
mov ecx, esi
mov dword [esp + 0x70], ebx
call fcn.005b84a0
push str.start_month
mov ecx, esi
call fcn.00419060
mov edx, dword [esi + 0x14]
push edx
mov ecx, esi
mov ebp, eax
call fcn.005b84a0
push str.end_month
mov ecx, esi
call fcn.00419060
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x14]
push eax
mov ecx, esi
call fcn.005b84a0
push str.start_week
mov ecx, esi
call fcn.00419060
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.005b84a0
push str.end_week
mov ecx, esi
call fcn.00419060
mov edx, dword [esi + 0x14]
push edx
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.005b84a0
push str.start_next_year
mov ecx, esi
call fcn.00419060
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x14]
push eax
mov ecx, esi
call fcn.005b84a0
push str.end_next_year
mov ecx, esi
call fcn.00419060
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.005b84a0
push str.num_games_per_team
mov ecx, esi
call fcn.00419060
mov edx, dword [esi + 0x14]
push edx
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.005b84a0
push str.monday
mov ecx, esi
call fcn.00419060
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0x14]
push eax
mov ecx, esi
call fcn.005b84a0
push str.tuesday
mov ecx, esi
call fcn.00419060
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0x9c], eax
call fcn.005b84a0
push str.wednesday
mov ecx, esi
call fcn.00419060
mov edx, dword [esi + 0x14]
push edx
mov ecx, esi
mov dword [esp + 0xa0], eax
call fcn.005b84a0
push str.thursday
mov ecx, esi
call fcn.00419060
mov dword [esp + 0xa0], eax
mov eax, dword [esi + 0x14]
push eax
mov ecx, esi
call fcn.005b84a0
push str.friday
mov ecx, esi
call fcn.00419060
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0xa8], eax
call fcn.005b84a0
push str.saturday
mov ecx, esi
call fcn.00419060
mov edx, dword [esi + 0x14]
push edx
mov ecx, esi
mov dword [esp + 0xac], eax
call fcn.005b84a0
push str.sunday
mov ecx, esi
call fcn.00419060
mov dword [esp + 0xac], eax
mov eax, dword [edi + 0xc]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.005c2d00
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ebp
push ecx
lea edx, [esp + 0x40]
push edx
call fcn.005c3a60
mov eax, dword [edi + 0xc]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.005c2d00
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
lea eax, [esp + 0x44]
push eax
call fcn.005c3a60
add esp, 0x38
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x10], ecx
jge 0x5c84af
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00486ec0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00486ec0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push ecx
inc eax
push eax
lea ecx, [esp + 0x1c]
call fcn.00491d60
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + eax*4 + 0x94]
test edx, edx
jle 0x5c84bf
inc ecx
inc eax
cmp eax, 7
jl 0x5c84b3
mov ebp, dword [esp + 0x44]
mov eax, ebp
imul eax, eax, 7
cdq
idiv ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
add eax, edx
cmp eax, ecx
jle 0x5c84e3
mov dword [esp + 0x10], eax
push str.rtsgt
lea ecx, [esp + 0x7c]
call fcn.00418c70
push str.rtsgt
lea ecx, [esp + 0xb4]
call fcn.00418c70
lea edx, [esp + 0x1c]
push edx
mov eax, ebx
shr eax, 0x18
mov ecx, ebx
and ecx, 0xff00
shl eax, 0x18
add ecx, 0x100
or eax, ecx
mov edx, ebx
and edx, 0xff0000
or eax, edx
push eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xd8]
push ecx
call fcn.005b7540
add esp, 0xc
push eax
push ebx
lea edx, [esp + 0xbc]
push edx
lea eax, [esp + 0x100]
push eax
call fcn.005b7510
add esp, 0xc
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.005b7fa0
mov ecx, dword [edi]
add esp, 0xc
push eax
push str.team_lookup
lea edx, [esp + 0x20]
push edx
call fcn.005b8270
mov ecx, eax
call fcn.005b89b0
mov ecx, eax
call fcn.005bdc80
lea ecx, [esp + 0x14]
call fcn.005bdce0
mov ecx, dword [esp + 0x68]
test ecx, ecx
mov dword [esp + 0x60], 0x8477e8
je 0x5c85aa
mov eax, dword [ecx]
push 1
call dword [eax + 0xc]
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x5c85b9
mov edx, dword [ecx]
push 1
call dword [edx + 0xc]
mov eax, dword [esp + 0x10c]
lea ecx, [esp + 0xfc]
cmp eax, ecx
mov esi, 0x84760c
mov dword [esp + 0x60], esi
je 0x5c85dd
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0xc8]
lea edx, [esp + 0xb8]
cmp eax, edx
mov dword [esp + 0xf0], esi
je 0x5c85ff
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x5c861a
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x80]
cmp eax, edx
mov dword [esp + 0xcc], esi
je 0x5c863c
push eax
call fcn.004186c0
add esp, 4
xor eax, eax
mov dword [esp + 0x381], eax
mov dword [esp + 0x385], eax
mov dword [esp + 0x389], eax
mov dword [esp + 0x38d], eax
mov dword [esp + 0x391], eax
mov word [esp + 0x395], ax
mov ecx, 0x8a
lea edi, [esp + 0x398]
mov byte [esp + 0x380], 0
mov byte [esp + 0x397], al
rep stosd dword es:[edi], eax
xor edi, edi
xor esi, esi
lea ebx, [ebx]
call fcn.0081e4be
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x5c86a1
dec eax
or eax, 0xfffffffe
inc eax
setne cl
mov byte [esp + esi + 0x78], cl
call fcn.0081e4be
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x5c86b9
dec eax
or eax, 0xfffffffe
inc eax
setne dl
mov byte [esp + esi + 0xb0], dl
inc esi
cmp esi, 0x18
jl 0x5c8690
mov ecx, dword [esp + 0x1c]
call fcn.005b6c70
mov ecx, dword [esp + 0x1c]
mov esi, eax
call fcn.005b6c70
dec esi
imul eax, esi
mov ecx, dword [esp + 0x28]
cdq
sub eax, edx
sar eax, 1
imul eax, ebp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
sub eax, ecx
cdq
idiv ebp
cmp ebp, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], eax
jle 0x5c8ed1
sub eax, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x74], eax
jmp 0x5c8720
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x2c]
inc edx
lea ecx, [eax + edx]
mov eax, dword [esp + 0x30]
dec esi
cmp edi, esi
mov dword [esp + 0x48], edx
lea ecx, [ecx + eax - 5]
jne 0x5c874a
mov ecx, 0x270f
xor ebx, ebx
cmp edi, ebx
je 0x5c8760
mov esi, dword [esp + 0x34]
cmp esi, edx
je 0x5c8760
mov edx, dword [esp + 0x28]
lea eax, [esi + edx + 2]
mov edx, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x2fe0]
push ecx
push edx
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x70]
push eax
lea edx, [esp + 0x5dc]
push edx
call fcn.005c7f30
mov eax, dword [esp + 0x48]
cmp eax, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebx
jle 0x5c8eae
mov esi, dword [esp + 0x30]
mov dword [esp + 0x54], 0
mov dword [esp + 0x5c], esi
jmp 0x5c87c0
mov esi, dword [esp + 0x5c]
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.004a5a80
mov ecx, dword [esp + eax*4 + 0x94]
xor ebp, ebp
cmp ecx, ebp
jle 0x5c8e90
push ebp
push esi
call fcn.005c2cf0
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], ebp
call fcn.005b6c70
test eax, eax
jle 0x5c8e71
mov ecx, ebp
and ecx, 0x8000001f
jns 0x5c8814
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebp
cdq
and edx, 0x1f
add eax, edx
mov edi, 1
sar eax, 5
shl edi, cl
mov ecx, dword [esp + eax*4 + 0x38]
lea eax, [esp + eax*4 + 0x38]
test ecx, edi
jne 0x5c8e5b
mov ecx, dword [esp + 0x54]
lea edx, [ecx + ebp]
mov esi, dword [esp + edx*4 + 0xb70]
cmp esi, 0xffffffff
mov dword [esp + 0x18], esi
je 0x5c8e5b
or dword [eax], edi
mov eax, esi
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov ecx, esi
and ecx, 0x8000001f
lea eax, [esp + eax*4 + 0x38]
jns 0x5c8871
dec ecx
or ecx, 0xffffffe0
inc ecx
mov ebx, dword [eax]
mov edx, 1
shl edx, cl
push str.game_number
lea ecx, [esp + 0x168]
or ebx, edx
mov dword [eax], ebx
call fcn.00418c70
push str.game_number
lea ecx, [esp + 0x1a0]
call fcn.00418c70
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x10]
push eax
push edi
call fcn.005c2d10
push eax
lea ecx, [esp + 0x170]
push ecx
lea edx, [esp + 0x2fc]
push edx
call fcn.005b7540
add esp, 0x10
push eax
push edi
lea eax, [esp + 0x1a8]
push eax
lea ecx, [esp + 0x2d8]
push ecx
call fcn.005b7510
add esp, 0xc
push eax
lea edx, [esp + 0x6c]
push edx
call fcn.005b7fa0
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx]
add esp, 0xc
push eax
push str.fixtures
lea eax, [esp + 0x7c]
push eax
call fcn.005b8270
mov ecx, eax
call fcn.005b89b0
mov ecx, eax
call fcn.005bdc80
lea ecx, [esp + 0x70]
call fcn.005bdce0
mov ecx, dword [esp + 0x68]
test ecx, ecx
mov dword [esp + 0x60], 0x8477e8
je 0x5c8934
mov edx, dword [ecx]
push 1
call dword [edx + 0xc]
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x5c8943
mov eax, dword [ecx]
push 1
call dword [eax + 0xc]
mov eax, dword [esp + 0x2e4]
lea ecx, [esp + 0x2d4]
cmp eax, ecx
mov edi, 0x84760c
mov dword [esp + 0x60], edi
je 0x5c8967
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x1b4]
lea edx, [esp + 0x1a4]
cmp eax, edx
mov dword [esp + 0x2c8], edi
je 0x5c8989
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x308]
lea ecx, [esp + 0x2f8]
cmp eax, ecx
je 0x5c89a4
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x17c]
lea edx, [esp + 0x16c]
cmp eax, edx
mov dword [esp + 0x2ec], edi
je 0x5c89c6
push eax
call fcn.004186c0
add esp, 4
mov ecx, dword [esp + 0x10]
call fcn.005b6c70
test eax, eax
jle 0x5c8a35
mov ecx, dword [esp + 0x10]
call fcn.005b6c70
mov ecx, dword [esp + 0x10]
dec eax
push eax
lea eax, [esp + 0x118]
push eax
call fcn.005b6e00
push str.game_number
lea ecx, [esp + 0x118]
call fcn.00419060
push eax
call fcn.005c2d20
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x124]
add esp, 4
test eax, eax
je 0x5c8a35
dec dword [eax]
cmp dword [eax], 0
mov edi, eax
jne 0x5c8a35
test edi, edi
je 0x5c8a35
mov ecx, edi
call fcn.005b0ba0
push edi
call fcn.005b3b10
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x5c8a50
lea ecx, [ebp + ebp*2]
lea edx, [esi + ecx*8]
mov al, byte [esp + edx + 0x380]
jmp 0x5c8aea
mov al, byte [esp + ebp + 0x78]
movzx ecx, byte [esp + ebp + 0xb0]
mov bl, byte [esp + esi + 0x78]
movzx edx, al
lea eax, [ecx + edx*2]
movzx ecx, byte [esp + esi + 0xb0]
imul eax, eax, 0x32
movzx edx, bl
lea ecx, [ecx + edx*2]
imul ecx, ecx, 0x32
cmp eax, ecx
jne 0x5c8ae7
mov ecx, dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x128]
push eax
call fcn.005b6e00
push str.team_id
lea ecx, [esp + 0x128]
call fcn.00419060
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x130]
test eax, eax
je 0x5c8acd
dec dword [eax]
cmp dword [eax], 0
mov edi, eax
jne 0x5c8acd
test edi, edi
je 0x5c8acd
mov ecx, edi
call fcn.005b0ba0
push edi
call fcn.005b3b10
add esp, 4
mov ecx, dword [esp + 0x2fdc]
cmp dword [esp + 0x3c], ecx
jne 0x5c8ae0
mov al, byte [esp + ebp + 0x78]
jmp 0x5c8aea
test bl, bl
sete al
jmp 0x5c8aea
setg al
mov dl, byte [esp + ebp + 0x78]
mov cl, byte [esp + esi + 0x78]
mov byte [esp + ebp + 0xb0], dl
test al, al
mov byte [esp + esi + 0xb0], cl
sete cl
test al, al
lea edx, [ebp + ebp*2]
lea edx, [esi + edx*8]
mov byte [esp + edx + 0x380], cl
mov byte [esp + ebp + 0x78], cl
lea ecx, [esi + esi*2]
lea edx, [ebp + ecx*8]
mov byte [esp + esi + 0x78], al
mov byte [esp + edx + 0x380], al
je 0x5c8b37
lea edi, [esp + 0x40]
lea esi, [esp + 0x18]
jmp 0x5c8b3f
lea edi, [esp + 0x18]
lea esi, [esp + 0x40]
push str.num_games_left_in_group
lea ecx, [esp + 0xf4]
call fcn.00418c70
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x244]
call fcn.005b7e80
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x27c], ecx
mov ebx, 0x84f9cc
push str.away
lea ecx, [esp + 0xd0]
mov dword [esp + 0x284], 0
mov dword [esp + 0x244], ebx
call fcn.00418c70
lea edx, [esp + 0xcc]
push edx
lea ecx, [esp + 0x288]
call fcn.005b7e80
mov eax, dword [edi]
xor edi, edi
push str.home
lea ecx, [esp + 0x14c]
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c8], edi
mov dword [esp + 0x288], ebx
call fcn.00418c70
lea ecx, [esp + 0x148]
push ecx
lea ecx, [esp + 0x200]
call fcn.005b7e80
mov edx, dword [esi]
push str.rtsg
lea ecx, [esp + 0x184]
mov dword [esp + 0x23c], edx
mov dword [esp + 0x240], edi
mov dword [esp + 0x200], ebx
call fcn.00418c70
lea eax, [esp + 0x180]
push eax
lea ecx, [esp + 0x1bc]
call fcn.005b7e80
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x6c]
push edx
mov dword [esp + 0x1f8], ecx
push str.game_number
lea ecx, [esp + 0x324]
mov dword [esp + 0x200], edi
mov dword [esp + 0x1c0], ebx
call fcn.00454040
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x31c]
push eax
lea ecx, [esp + 0x314]
push ecx
mov ecx, dword [edx]
call fcn.005b82c0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push str.fixtures
push ecx
push edx
lea ecx, [esp + 0x140]
mov byte [eax + 8], 1
call fcn.005b3b30
push 0x8c2134
push 0x8c2134
push 0x8c2134
push 0x8c2134
push 0x8c2134
push 0x8c2134
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x2a0]
push ecx
lea edx, [esp + 0x21c]
push edx
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x15c]
call fcn.005b3b70
lea ecx, [esp + 0x134]
call fcn.005b3d30
lea esi, [esp + 0x398]
mov edi, 3
lea ecx, [ecx]
mov eax, dword [esi - 0x1c]
sub esi, 0x1c
lea ecx, [esi - 0x10]
cmp eax, ecx
je 0x5c8d06
push eax
call fcn.004186c0
add esp, 4
dec edi
jne 0x5c8cf0
mov eax, dword [esp + 0x1d4]
lea edx, [esp + 0x1c4]
cmp eax, edx
je 0x5c8d24
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x198]
lea ecx, [esp + 0x188]
cmp eax, ecx
mov esi, 0x84f900
mov dword [esp + 0x1b8], esi
je 0x5c8d4b
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x218]
lea edx, [esp + 0x208]
cmp eax, edx
je 0x5c8d66
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x160]
lea ecx, [esp + 0x150]
cmp eax, ecx
mov dword [esp + 0x1fc], esi
je 0x5c8d88
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x2a0]
lea edx, [esp + 0x290]
cmp eax, edx
je 0x5c8da3
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0xd4]
cmp eax, ecx
mov dword [esp + 0x284], esi
je 0x5c8dc5
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x25c]
lea edx, [esp + 0x24c]
cmp eax, edx
je 0x5c8de0
push eax
call fcn.004186c0
add esp, 4
mov eax, dword [esp + 0x108]
lea ecx, [esp + 0xf8]
cmp eax, ecx
mov dword [esp + 0x240], esi
je 0x5c8e02
push eax
call fcn.004186c0
add esp, 4
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
dec edx
test eax, eax
mov dword [esp + 0x50], edx
je 0x5c8e5b
dec dword [eax]
cmp dword [eax], 0
mov edi, eax
jne 0x5c8e5b
test edi, edi
je 0x5c8e5b
mov esi, dword [edi + 0x5c]
test esi, esi
je 0x5c8e3f
dec dword [esi]
jne 0x5c8e3f
test esi, esi
je 0x5c8e3f
mov ecx, esi
call fcn.005b0ba0
push esi
call fcn.005b3b10
add esp, 4
mov eax, dword [edi + 0x58]
lea edx, [edi + 0x54]
cmp eax, edx
je 0x5c8e52
push eax
call fcn.005b3b10
add esp, 4
push edi
call fcn.005b3b10
add esp, 4
mov ecx, dword [esp + 0x1c]
inc ebp
mov dword [esp + 0x40], ebp
call fcn.005b6c70
cmp ebp, eax
jl 0x5c8805
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x5cc]
inc eax
add edx, 0x18
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], edx
jge 0x5c8eae
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
inc eax
inc edx
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x5c], edx
jl 0x5c87bc
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add edx, ecx
mov ecx, dword [esp + 0x44]
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
jl 0x5c8720
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5c8f21
dec dword [eax]
cmp dword [eax], 0
mov edi, eax
jne 0x5c8f21
test edi, edi
je 0x5c8f21
mov esi, dword [edi + 0x5c]
test esi, esi
je 0x5c8f05
dec dword [esi]
jne 0x5c8f05
test esi, esi
je 0x5c8f05
mov ecx, esi
call fcn.005b0ba0
push esi
call fcn.005b3b10
add esp, 4
mov eax, dword [edi + 0x58]
lea edx, [edi + 0x54]
cmp eax, edx
je 0x5c8f18
push eax
call fcn.005b3b10
add esp, 4
push edi
call fcn.005b3b10
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2fc4
ret 8