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

Disassembly:
sub esp, 0x88
push ebx
push ebp
mov ebp, dword [esp + 0x94]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp]
xor edx, edx
push edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], ecx
cmp ebx, edx
jne 0x5bafd3
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret
push esi
mov esi, dword [esp + 0xa0]
mov eax, 0x63
cmp esi, edx
je 0x5bafe7
movzx eax, byte [esi]
mov dword [esp + 0x10], eax
add eax, 0xffffffed
cmp eax, 0x8a
ja case.0x5bb000.21
movzx eax, byte [eax + 0x5bbd88]
jmp dword [eax*4 + 0x5bbd20]
movsx ecx, word [esi + 0x22]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
mov edx, dword [eax + 0x14]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
jne 0x5bb02e
mov eax, dword [ecx + 0x10]
pop esi
pop edi
pop ebp
mov dword [esp + 0x10], eax
pop ebx
add esp, 0x88
ret
cmp byte [eax + 1], 0
je 0x5bb058
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x2b
mov eax, ebx
call fcn.0056ceb0
mov eax, dword [esp + 0x2c]
add esp, 0x10
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
xor edx, edx
mov eax, dword [esi + 0x1c]
cmp eax, edx
jge 0x5bb080
mov ecx, dword [ebp + 0x58]
cmp ecx, edx
jle 0x5bb07d
movsx eax, word [esi + 0x20]
pop esi
pop edi
add eax, ecx
pop ebp
mov dword [esp + 0x10], eax
pop ebx
add esp, 0x88
ret
mov eax, dword [ebp + 0x5c]
movzx ecx, byte [esi + 0x26]
movsx edx, word [esi + 0x20]
push ecx
push edi
push eax
mov eax, dword [esi + 0x2c]
push edx
push eax
mov eax, ebp
call fcn.00593c70
add esp, 0x14
pop esi
pop edi
pop ebp
mov dword [esp + 0x10], eax
pop ebx
add esp, 0x88
ret
push edi
xor edx, edx
mov eax, esi
mov ecx, ebp
call fcn.00576cf0
mov eax, dword [esp + 0x20]
add esp, 4
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esi + 8]
mov ecx, edi
push ecx
push 0
mov edi, ebx
call fcn.00576c70
mov eax, dword [esp + 0x24]
add esp, 8
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov edx, dword [esi + 8]
push 0
push edx
push 0
push edi
push 0
push 0x5f
mov eax, ebx
call fcn.00575b20
mov eax, dword [esp + 0x34]
add esp, 0x18
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
push edi
push 0
push 0x1a
mov eax, ebx
call fcn.0056cfb0
mov eax, dword [esp + 0x28]
add esp, 0xc
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov ecx, dword [esi + 8]
add ecx, 2
call fcn.0055d9f0
mov esi, eax
mov eax, dword [ebx]
dec esi
push esi
push eax
mov edi, ecx
call fcn.00569ca0
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0xb4]
push 0
push eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
push eax
push 0x1b
mov eax, ebx
call fcn.00575b20
mov eax, dword [esp + 0x3c]
add esp, 0x20
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
movsx ecx, word [esi + 0x20]
push edi
push ecx
push 0x1c
mov eax, ebx
call fcn.0056cfb0
mov edx, dword [esi + 8]
add esp, 0xc
cmp byte [edx + 1], 0
je 0x5bbcff
movsx eax, word [esi + 0x20]
mov ecx, dword [ebp + 0x1f8]
mov ebp, dword [ecx + eax*4 - 4]
mov eax, dword [ebx + 4]
mov edi, dword [ebx]
test eax, eax
je 0x5bb1fc
cmp byte [edi + 0x40], 0
jne 0x5bb1fc
mov ebx, dword [ebx + 0x1c]
dec ebx
lea edx, [ebx + ebx*4]
mov ecx, dword [eax + edx*4 + 0x10]
lea esi, [eax + edx*4]
movsx eax, byte [esi + 1]
call fcn.0056d100
xor eax, eax
mov dword [esi + 0x10], eax
cmp ebp, eax
jne 0x5bb1e6
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
mov eax, dword [esp + 0x1c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x10], ebp
mov byte [esi + 1], 0xfe
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov ecx, ebp
mov eax, 0xfffffffe
call fcn.0056d100
mov eax, dword [esp + 0x1c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esi + 0x1c]
pop esi
pop edi
pop ebp
mov dword [esp + 0x10], eax
pop ebx
add esp, 0x88
ret
mov ecx, dword [esi + 0xc]
push edi
push ecx
push ebp
call fcn.005baf90
add esp, 0xc
pop esi
pop edi
pop ebp
mov dword [esp + 0x10], eax
pop ebx
add esp, 0x88
ret
mov eax, dword [esi + 0xc]
mov edx, edi
push edx
push eax
push ebp
call fcn.005baf90
mov edx, dword [esi + 8]
add esp, 0xc
xor edi, edi
mov dword [esp + 0x1c], eax
call fcn.00565200
mov ecx, dword [esp + 0xa4]
movsx esi, al
add esi, 0x2d
cmp dword [esp + 0x1c], ecx
je 0x5bb291
mov edx, dword [esp + 0x1c]
mov edi, ecx
push edi
push edx
push 0x1f
mov eax, ebx
call fcn.0056cfb0
add esp, 0xc
mov dword [esp + 0x1c], edi
jmp 0x5bb295
mov edi, dword [esp + 0x1c]
push edi
push esi
mov eax, ebx
call fcn.0056cf60
push edi
mov eax, 1
mov esi, ebp
call fcn.00564940
mov eax, dword [esp + 0x28]
add esp, 0xc
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
lea eax, [esp + 0x18]
push eax
mov eax, dword [esi + 0xc]
mov ecx, ebp
call fcn.0057fce0
lea ecx, [esp + 0x18]
mov ebx, eax
mov eax, dword [esi + 0x10]
push ecx
mov ecx, ebp
call fcn.0057fce0
mov edx, dword [esp + 0x18]
push 0x10
push edi
push eax
mov eax, dword [esi + 0xc]
push ebx
push edx
push eax
mov eax, dword [esi + 0x10]
mov ecx, ebp
call fcn.00589470
add esp, 0x20
mov esi, dword [esp + 0x18]
test esi, esi
je 0x5bbccc
mov dl, byte [ebp + 0x13]
cmp dl, 8
jae 0x5bbccc
xor eax, eax
lea ecx, [ebp + 0x68]
lea ebx, [eax + 1]
jmp 0x5bb320
cmp dword [ecx + 0x10], esi
je 0x5bbcc7
add eax, ebx
add ecx, 0x18
cmp eax, 0xa
jl 0x5bb320
movzx eax, dl
mov dword [ebp + eax*4 + 0x1c], esi
add byte [ebp + 0x13], bl
jmp 0x5bbcd1
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call fcn.0057fce0
lea edx, [esp + 0x18]
mov ebx, eax
mov eax, dword [esi + 0x10]
push edx
mov ecx, ebp
call fcn.0057fce0
mov ecx, dword [esi + 0xc]
push 0x90
push edi
push eax
xor eax, eax
cmp dword [esp + 0x24], 0x47
push ebx
sete al
add eax, 0x4c
push eax
push ecx
jmp 0x5bb2eb
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x18]
push edx
mov ecx, ebp
call fcn.0057fce0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [esi + 0x10]
mov ecx, ebp
call fcn.0057fce0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
push edi
push ecx
push eax
push edx
mov eax, ebx
call fcn.0056ceb0
add esp, 0x18
jmp 0x5bb2f8
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0x82
jne 0x5bb3e8
push edi
mov edx, 1
mov ecx, ebp
call fcn.00576cf0
mov edx, dword [esp + 0xa8]
add esp, 4
mov dword [esp + 0x1c], edx
jmp 0x5bb2f8
cmp cl, 0x83
jne 0x5bb40f
mov eax, dword [eax + 8]
mov ecx, edi
push ecx
push 1
mov edi, ebx
call fcn.00576c70
mov edx, dword [esp + 0xac]
add esp, 8
mov dword [esp + 0x1c], edx
jmp 0x5bb2f8
mov dword [esp + 0x40], edx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x3c]
mov ecx, ebp
mov byte [esp + 0x3c], 0x82
mov dword [esp + 0x40], 0x4400
call fcn.0057fce0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [esi + 0xc]
mov ecx, ebp
call fcn.0057fce0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
push eax
push 0x58
mov eax, ebx
call fcn.0056ceb0
mov edx, dword [esp + 0xbc]
add esp, 0x18
mov dword [esp + 0x1c], edx
jmp 0x5bb2f8
lea eax, [esp + 0x18]
push eax
mov eax, dword [esi + 0xc]
mov ecx, ebp
call fcn.0057fce0
mov ecx, dword [esp + 0x14]
push edi
push eax
push ecx
mov eax, ebx
mov dword [esp + 0x2c], edi
call fcn.0056cfb0
add esp, 0x10
jmp 0x5bb2f8
push edi
push 1
push 0x17
mov eax, ebx
call fcn.0056cfb0
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, ebp
call fcn.0057fce0
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, ebx
call fcn.0056cf60
push 0xffffffffffffffff
mov esi, eax
push edi
push 0x22
mov eax, ebx
call fcn.0056cfb0
add esp, 0x24
mov eax, esi
mov edx, ebx
call fcn.00562ed0
jmp 0x5bb2f8
mov eax, dword [esi + 0x28]
cmp eax, edx
jne 0x5bb4ff
mov ecx, dword [esi + 8]
push ecx
push str.misuse_of_aggregate:__s__
mov edi, ebp
call fcn.00573960
mov eax, dword [esp + 0x24]
add esp, 8
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
movsx edx, word [esi + 0x22]
mov eax, dword [eax + 0x20]
pop esi
pop edi
shl edx, 4
mov ecx, dword [edx + eax + 8]
pop ebp
mov dword [esp + 0x10], ecx
mov eax, ecx
pop ebx
add esp, 0x88
ret
test dword [esi + 4], 0x4000
mov eax, dword [ecx + 0x10]
mov ecx, dword [eax + 0xc]
mov al, byte [ecx + 0x4d]
mov dword [esp + 0x20], edx
mov byte [esp + 0x10], al
mov dword [esp + 0x2c], edx
je 0x5bb599
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov esi, dword [esi + 8]
mov ecx, esi
call fcn.0055d9f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0
push edx
mov edx, dword [esp + 0x2c]
push ecx
push eax
push esi
push edx
mov dword [esp + 0x48], eax
call fcn.00578530
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5bb5ac
mov eax, dword [esp + 0x30]
push esi
push eax
push str.unknown_function:__.s__
mov edi, ebp
call fcn.00573960
mov eax, dword [esp + 0x28]
add esp, 0xc
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
cmp eax, edx
je 0x5bb540
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
jmp 0x5bb544
mov ecx, eax
movzx eax, word [ecx + 2]
test eax, 0x200
je 0x5bb662
mov eax, ebx
call fcn.0056d000
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 8]
mov ecx, dword [eax]
push edi
push ecx
push ebp
call fcn.005bbe20
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, 1
jle 0x5bb644
dec eax
mov dword [esp + 0x28], 0x18
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x20]
push edx
push edi
push 0x4b
mov eax, ebx
call fcn.0056cfb0
push edi
mov eax, 1
mov esi, ebp
call fcn.00564940
inc dword [ebp + 0x60]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x38]
mov edx, dword [esi + ecx]
push edi
push edx
push ebp
call fcn.005bbe20
add esp, 0x1c
mov ecx, 1
mov eax, ebp
call fcn.00564990
add esi, 0x18
sub dword [esp + 0x2c], 1
mov dword [esp + 0x28], esi
jne 0x5bb5f2
mov eax, dword [esp + 0x20]
push eax
mov edx, ebx
call fcn.00562eb0
mov eax, dword [esp + 0x20]
add esp, 4
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
test eax, 0x400
je 0x5bb68c
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx]
push edi
push eax
push ebp
call fcn.005bbe20
mov eax, dword [esp + 0x28]
add esp, 0xc
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esp + 0x18]
xor edi, edi
lea ebx, [edi + 1]
test eax, eax
jle 0x5bb6fa
xor esi, esi
jmp 0x5bb6a0
cmp edi, 0x20
jge 0x5bb6c4
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + esi]
push eax
call fcn.0056eb20
add esp, 4
test eax, eax
mov eax, dword [esp + 0x18]
je 0x5bb6c4
or dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 0x20
je 0x5bb6f0
cmp dword [esp + 0x2c], 0
jne 0x5bb6f0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax + esi]
push ebp
call fcn.00589310
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
add esp, 4
inc edi
add esi, 0x18
rol ebx, 1
cmp edi, eax
jl 0x5bb6a0
cmp dword [esp + 0x14], 0
je 0x5bb770
cmp dword [esp + 0x20], 0
je 0x5bb715
mov ecx, dword [ebp + 0x4c]
lea esi, [ecx + 1]
add ecx, eax
mov dword [ebp + 0x4c], ecx
jmp 0x5bb720
mov esi, eax
mov ecx, ebp
call fcn.00564be0
mov esi, eax
mov edx, dword [esp + 0x10]
test byte [edx + 2], 0xc0
je 0x5bb748
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov cl, byte [eax]
cmp cl, 0x99
je 0x5bb73f
cmp cl, 0x9b
jne 0x5bb748
mov cl, byte [edx + 2]
and cl, 0xc0
mov byte [eax + 0x26], cl
mov edi, dword [esp + 0x14]
inc dword [ebp + 0x60]
push esi
mov cl, 3
mov edx, edi
mov ebx, ebp
call fcn.0057fe20
add esp, 4
mov ecx, 1
mov eax, ebp
call fcn.00564990
mov eax, dword [esp + 0x18]
jmp 0x5bb776
mov edi, dword [esp + 0x14]
xor esi, esi
cmp eax, 2
jl 0x5bb7a5
mov edx, dword [esp + 0xa0]
test byte [edx + 4], 0x80
je 0x5bb7a5
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 8]
push eax
mov eax, dword [esp + 0x28]
push edx
push eax
mov eax, dword [ecx + 0x18]
call fcn.0057b500
add esp, 0xc
mov ebx, eax
jmp 0x5bb7c9
test eax, eax
jle 0x5bb7c5
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 8]
push eax
mov eax, dword [esp + 0x28]
push edx
push eax
mov eax, dword [ecx]
call fcn.0057b500
add esp, 0xc
mov ebx, eax
jmp 0x5bb7c9
mov ebx, dword [esp + 0x10]
test byte [ebx + 2], 0x20
je 0x5bb7f9
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x5bb7de
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
mov edi, dword [esp + 0x28]
push 0xfffffffffffffffc
push eax
push 0
push 0
push 0
push 0x21
mov eax, edi
call fcn.00575b20
add esp, 0x18
jmp 0x5bb7fd
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
push 0xfffffffffffffffb
push ebx
mov ebx, dword [esp + 0x28]
push edx
push esi
push ebx
push 1
mov eax, edi
call fcn.00575b20
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
add esp, 0x18
test eax, eax
je 0x5bb82f
mov edi, dword [edi + 0x1c]
lea edx, [edi + edi*4]
mov byte [eax + edx*4 - 0x11], cl
test ecx, ecx
je 0x5bbcff
test ebx, ebx
jne 0x5bbcff
mov edi, ecx
mov ebx, esi
mov eax, ebp
call fcn.00564c10
mov eax, dword [esp + 0x1c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
push 0
push 0
push esi
push ebp
call fcn.005b7df0
add esp, 0x10
pop esi
pop edi
pop ebp
mov dword [esp + 0x10], eax
pop ebx
add esp, 0x88
ret
mov esi, ebx
mov eax, esi
call fcn.0056d000
mov edi, eax
mov eax, esi
call fcn.0056d000
mov ebx, eax
mov eax, dword [esp + 0xa4]
push eax
push 0
push 0x1a
mov eax, esi
mov dword [esp + 0x3c], ebx
call fcn.0056cfb0
mov eax, dword [esp + 0xac]
push ebx
push edi
mov ebx, ebp
call fcn.005b9b00
mov ebx, dword [esp + 0xb8]
push ebx
push 1
push 0x17
mov eax, esi
call fcn.0056cfb0
push edi
mov edx, esi
call fcn.00562eb0
push 0
push ebx
push 0x22
mov eax, esi
call fcn.0056cfb0
mov ecx, dword [esp + 0x60]
push ecx
mov edx, esi
call fcn.00562eb0
mov eax, dword [esp + 0x50]
add esp, 0x34
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
mov esi, dword [edx + 8]
mov ecx, dword [esi]
lea edx, [esp + 0x18]
mov dword [esp + 0x10], ecx
push edx
mov ecx, ebp
mov dword [esp + 0x2c], eax
call fcn.0057fce0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
mov ecx, ebp
call fcn.0057fce0
mov dword [esp + 0x38], eax
mov eax, ebp
call fcn.00564b90
mov edx, eax
mov eax, ebp
mov dword [esp + 0x28], edx
call fcn.00564b90
mov ecx, dword [esp + 0x38]
push 0x10
push edx
mov edx, dword [esp + 0x34]
push ecx
push edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
push 0x51
push eax
mov eax, dword [esp + 0x30]
mov ecx, ebp
call fcn.00589470
mov ecx, dword [esi + 0x18]
mov esi, dword [esp + 0x34]
mov edx, ebp
mov dword [esp + 0x30], ecx
call fcn.00564bb0
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x34]
push edx
mov ecx, ebp
call fcn.0057fce0
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push 0x10
push esi
push eax
mov eax, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x44]
push 0x4f
push ecx
mov ecx, ebp
call fcn.00589470
push edi
push esi
mov esi, dword [esp + 0x64]
push esi
push 0x46
mov eax, ebx
call fcn.0056ceb0
add esp, 0x4c
mov edx, ebp
call fcn.00564bb0
mov esi, dword [esp + 0x2c]
call fcn.00564bb0
jmp 0x5bb2f8
mov edx, dword [esi + 0xc]
push edi
push edx
push ebp
call fcn.005baf90
add esp, 0xc
pop esi
pop edi
pop ebp
mov dword [esp + 0x10], eax
pop ebx
add esp, 0x88
ret
mov ebp, dword [esi + 0x2c]
movsx eax, word [ebp + 0x26]
movsx ecx, word [esi + 0x20]
inc eax
imul eax, dword [esi + 0x1c]
lea edx, [eax + ecx + 1]
push edi
push edx
push 0x7c
mov eax, ebx
call fcn.0056cfb0
movzx eax, word [esi + 0x20]
add esp, 0xc
test ax, ax
jl 0x5bbcff
mov ecx, dword [ebp + 4]
cwde
lea eax, [eax + eax*2]
cmp byte [ecx + eax*8 + 0x15], 0x65
jne 0x5bbcff
push edi
push 0x24
mov eax, ebx
call fcn.0056cf60
mov eax, dword [esp + 0x24]
add esp, 8
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
cmp dword [ebp + 0x1bc], edx
jne 0x5bba6b
push str.RAISE___may_only_be_used_within_a_trigger_program
mov edi, ebp
call fcn.00573960
add esp, 4
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret
cmp byte [esi + 1], 2
jne 0x5bba78
mov ecx, ebp
call fcn.00565a60
mov al, byte [esi + 1]
push 0
cmp al, 4
jne 0x5bbaa6
mov edx, dword [esi + 8]
push edx
push 0
push 4
push 0
push 0x16
mov eax, ebx
call fcn.00575b20
mov eax, dword [esp + 0x34]
add esp, 0x18
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov ecx, esi
mov edx, dword [ecx + 8]
movsx eax, al
push edx
push eax
push 0x713
xor bl, bl
mov edi, ebp
call fcn.00581300
mov eax, dword [esp + 0x2c]
add esp, 0x10
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 8]
mov dword [esp + 0x28], edx
mov edx, dword [eax]
mov dword [esp + 0x34], eax
mov eax, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], edx
call fcn.0056d000
mov esi, dword [esi + 0xc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], esi
test esi, esi
je 0x5bbb4f
mov ecx, 0xc
mov eax, esi
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call fcn.0057fce0
mov dl, byte [esp + 0x3c]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x6c]
add esp, 4
and dword [esp + 0x3c], 0xffffefff
mov byte [esp + 0x5e], dl
mov byte [esp + 0x38], 0x85
mov byte [esp + 0x68], 0x4d
mov dword [esp + 0x74], eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 1]
test eax, eax
jle 0x5bbc36
mov ecx, dword [esp + 0x30]
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jmp 0x5bbb74
mov ecx, dword [esp + 0x20]
inc dword [ebp + 0x60]
cmp dword [esp + 0x2c], 0
je 0x5bbb86
mov edx, dword [ecx]
mov dword [esp + 0x78], edx
jmp 0x5bbb8c
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov eax, ebx
call fcn.0056d000
mov ecx, dword [esp + 0x28]
push 8
push eax
push ecx
push ebp
mov dword [esp + 0x40], eax
call fcn.005ba030
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x18]
push edx
push ecx
push ebp
call fcn.005bbe20
mov esi, dword [ebx + 0x1c]
add esp, 0x1c
cmp dword [ebx + 0x20], esi
jg 0x5bbbd1
mov edi, ebx
call fcn.0056ce30
test eax, eax
jne 0x5bbbf9
mov eax, dword [ebx + 4]
inc dword [ebx + 0x1c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov byte [eax], 0x10
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov ecx, 1
mov eax, ebp
call fcn.00564990
or eax, 0xffffffff
sub eax, dword [esp + 0x30]
js 0x5bbc1b
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x5bbc1b
mov edx, dword [ebx + 0x1c]
mov dword [ecx + eax*4], edx
add dword [esp + 0x20], 0x30
sub dword [esp + 0x24], 1
jne 0x5bbb70
mov edi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x10]
test cl, 1
je 0x5bbc65
inc dword [ebp + 0x60]
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax*8 - 0x18]
push edi
push eax
push ebp
call fcn.005bbe20
add esp, 0xc
mov ecx, 1
mov eax, ebp
call fcn.00564990
jmp 0x5bbca2
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x5bbc7f
mov edi, ebx
call fcn.0056ce30
test eax, eax
jne 0x5bbca2
mov edi, dword [esp + 0xa4]
mov eax, dword [ebx + 4]
xor ecx, ecx
inc dword [ebx + 0x1c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1a
mov byte [eax + 3], cl
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
or eax, 0xffffffff
sub eax, dword [esp + 0x14]
js 0x5bbcff
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x5bbcff
mov edx, dword [ebx + 0x1c]
pop esi
pop edi
pop ebp
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x10]
pop ebx
add esp, 0x88
ret
mov byte [ecx + 8], bl
jmp 0x5bbcd1
mov ebx, 1
mov esi, dword [esp + 0x14]
test esi, esi
je 0x5bbcff
mov dl, byte [ebp + 0x13]
cmp dl, 8
jae 0x5bbcff
xor eax, eax
lea ecx, [ebp + 0x68]
cmp dword [ecx + 0x10], esi
je 0x5bbd0e
add eax, ebx
add ecx, 0x18
cmp eax, 0xa
jl 0x5bbce6
movzx ecx, dl
mov dword [ebp + ecx*4 + 0x1c], esi
add byte [ebp + 0x13], bl
mov eax, dword [esp + 0x1c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esp + 0x1c]
pop esi
pop edi
pop ebp
mov byte [ecx + 8], bl
pop ebx
add esp, 0x88
ret