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

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
xor ebx, ebx
push edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], ebx
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esi + 0x114], eax
jne 0x5b0735
mov eax, dword [esp + 0x4c]
cmp dword [eax + 0x40], ebx
jne 0x5b0735
mov ebp, dword [esp + 0x48]
cmp byte [ebp + 0x2b], 1
je 0x5b0735
cmp dword [esp + 0x50], 0xb
jne 0x5b03ce
cmp word [ebp + 0x20], bx
jl 0x5b03c6
movzx edx, byte [ebp + 0x2a]
mov dword [esp + 0x50], edx
cmp edx, 0xb
jne 0x5b03ce
mov dword [esp + 0x50], 2
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x5b0735
cmp dword [ecx + 0x1c], ebx
jne 0x5b0735
cmp dword [eax + 0x24], ebx
jne 0x5b0735
cmp dword [eax + 0x30], ebx
jne 0x5b0735
cmp dword [eax + 0x28], ebx
jne 0x5b0735
cmp dword [eax + 0x3c], ebx
jne 0x5b0735
cmp dword [eax + 0x34], ebx
jne 0x5b0735
test byte [eax + 4], 1
jne 0x5b0735
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jne 0x5b0735
mov eax, dword [eax + 8]
cmp byte [eax], 0xb4
jne 0x5b0735
lea eax, [ecx + 8]
push eax
push 0
push esi
call fcn.00565c80
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
test edi, edi
je 0x5b0735
mov eax, dword [edi + 0x14]
cmp eax, dword [ebp + 0x14]
jne 0x5b0463
mov eax, dword [edi + 0x3c]
cmp eax, dword [ebp + 0x3c]
je 0x5b0735
mov esi, dword [edi + 0x1c]
mov ecx, esi
mov edx, dword [ebp + 0x1c]
mov eax, edx
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x5b0735
cmp byte [edi + 0x2b], bl
jne 0x5b0735
movzx ecx, word [ebp + 0x22]
cmp cx, word [edi + 0x22]
jne 0x5b0735
mov ax, word [ebp + 0x20]
cmp ax, word [edi + 0x20]
jne 0x5b0735
test edx, 0x10000
je 0x5b04bb
test esi, 0x10000
je 0x5b0735
xor eax, eax
mov dword [esp + 0x28], ebx
cmp ax, cx
jge 0x5b06f7
xor ecx, ecx
mov dword [esp + 0x2c], ecx
jmp 0x5b04d6
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 4]
mov edi, dword [edi + 4]
add esi, ecx
add edi, ecx
mov cx, word [esi + 0xe]
mov ax, word [edi + 0xe]
and cx, 0x60
and ax, 0x60
cmp cx, ax
jne 0x5b0735
test cx, cx
je 0x5b0576
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x5b050b
xor ecx, ecx
jmp 0x5b052f
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x2b], 0
je 0x5b0519
xor ecx, ecx
jmp 0x5b052f
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x5b052f
cmp dword [ecx], eax
jge 0x5b0528
xor ecx, ecx
jmp 0x5b052f
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x5b053c
xor eax, eax
jmp 0x5b0560
cmp byte [ebp + 0x2b], 0
je 0x5b0546
xor eax, eax
jmp 0x5b0560
mov edx, dword [ebp + 0x34]
test edx, edx
jne 0x5b0551
xor eax, eax
jmp 0x5b0560
cmp dword [edx], eax
jge 0x5b0559
xor eax, eax
jmp 0x5b0560
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 - 0xc]
push 0xffffffffffffffff
push eax
push ecx
push 0
call fcn.00550f00
add esp, 0x10
test eax, eax
jne 0x5b0735
mov al, byte [esi + 8]
cmp al, byte [edi + 8]
jne 0x5b0735
movzx ecx, word [edi + 0xe]
test ecx, 0x200
jne 0x5b0592
xor ecx, ecx
jmp 0x5b05b9
mov eax, dword [edi]
cmp byte [eax], 0
je 0x5b05a6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x5b05a0
test cl, 4
je 0x5b05b6
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x5b05b0
lea ecx, [eax + 1]
movzx ebx, word [esi + 0xe]
test ebx, 0x200
je 0x5b0601
mov eax, dword [esi]
cmp byte [eax], 0
je 0x5b05d6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x5b05d0
test bl, 4
je 0x5b05e6
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x5b05e0
add eax, 1
je 0x5b0601
test ecx, ecx
je 0x5b0735
push ecx
push eax
call fcn.005794f0
add esp, 8
mov ecx, eax
jmp 0x5b0605
neg ecx
sbb ecx, ecx
test ecx, ecx
jne 0x5b0735
test byte [esi + 4], 0xf
je 0x5b061d
test byte [edi + 4], 0xf
je 0x5b0735
test bl, 0x60
mov ebx, dword [esp + 0x28]
jne 0x5b06d9
test ebx, ebx
jle 0x5b06d9
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x5b063f
xor esi, esi
jmp 0x5b065f
cmp byte [ebp + 0x2b], 0
je 0x5b0649
xor esi, esi
jmp 0x5b065f
mov esi, dword [ebp + 0x34]
test esi, esi
je 0x5b065f
cmp dword [esi], eax
jge 0x5b0658
xor esi, esi
jmp 0x5b065f
lea eax, [eax + eax*4]
mov esi, dword [esi + eax*4 - 0xc]
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x5b066c
xor edx, edx
jmp 0x5b0690
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x2b], 0
je 0x5b067a
xor edx, edx
jmp 0x5b0690
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x5b0690
cmp dword [edx], eax
jge 0x5b0689
xor edx, edx
jmp 0x5b0690
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 - 0xc]
xor ecx, ecx
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp eax, ecx
jne 0x5b0735
test esi, esi
je 0x5b06d9
mov ecx, dword [edx + 8]
mov eax, dword [esi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5b06d0
test dl, dl
je 0x5b06cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5b06d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x5b06b0
xor eax, eax
jmp 0x5b06d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5b0735
mov ecx, dword [esp + 0x2c]
inc ebx
movsx eax, word [ebp + 0x22]
add ecx, 0x10
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
cmp ebx, eax
jl 0x5b04d2
xor ebx, ebx
mov edi, dword [ebp + 8]
mov eax, 1
test edi, edi
je 0x5b0776
cmp byte [edi + 0x36], 0
cmovne ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], ebx
mov esi, dword [eax + 8]
test esi, esi
je 0x5b0735
nop dword [eax]
push esi
push edi
call fcn.005b0270
add esp, 8
test eax, eax
jne 0x5b073f
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x5b0720
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esi + 0x2c]
cmp eax, dword [edi + 0x2c]
jne 0x5b076a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
cmp eax, dword [ebp + 0x3c]
jne 0x5b076a
mov eax, dword [0x646038]
test eax, eax
je 0x5b0735
push 0x19b
call eax
add esp, 4
test eax, eax
je 0x5b0735
mov edi, dword [edi + 0x14]
mov eax, 1
test edi, edi
jne 0x5b0703
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x5b0793
push 0xffffffffffffffff
push eax
push dword [ebx + 0x10]
call fcn.005527a0
add esp, 0xc
test eax, eax
jne 0x5b0735
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
and eax, 0x4000
or eax, 0
je 0x5b07ad
cmp dword [ebp + 0x30], 0
jne 0x5b0735
and ecx, 1
xor eax, eax
or eax, ecx
jne 0x5b0735
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x20], 0xffff8000
test ecx, ecx
je 0x5b07ec
mov eax, dword [esi + 0x10]
xor edx, edx
add eax, 0xc
mov dword [esp + 0x20], edx
cmp dword [eax], ecx
je 0x5b07ec
nop dword [eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x5b07e0
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x44]
push ebx
call fcn.005617d0
push dword [esp + 0x24]
mov edi, eax
push ebx
call fcn.00547a60
mov ecx, ebx
push ebp
push dword [esp + 0x64]
mov ebx, dword [ecx + 0x28]
push ecx
mov dword [esp + 0x2c], ebx
lea esi, [ebx + 1]
lea eax, [esi + 1]
mov dword [esp + 0x4c], esi
mov dword [ecx + 0x28], eax
call fcn.004e9fd0
push dword [esp + 0x5c]
mov ebp, eax
call fcn.00560dd0
push eax
push 0
push 0x4b
push edi
mov dword [esp + 0x50], eax
call fcn.0057edd0
mov edx, dword [esp + 0x70]
push edx
call fcn.00560dd0
mov ecx, dword [esp + 0x78]
push 0x71
push ecx
push dword [esp + 0x8c]
mov dword [esp + 0x54], eax
push esi
push edx
call fcn.00567170
mov eax, dword [esp + 0x60]
add esp, 0x44
test byte [eax + 0x18], 4
mov eax, dword [esp + 0x48]
jne 0x5b08bd
cmp word [eax + 0x20], 0
jge 0x5b087e
cmp dword [eax + 8], 0
jne 0x5b0893
cmp dword [esp + 0x30], 0
jne 0x5b0893
mov ecx, dword [esp + 0x50]
cmp ecx, 2
je 0x5b08bd
cmp ecx, 1
je 0x5b08bd
push 0
push esi
push 0x24
push edi
call fcn.0057edd0
push 9
push edi
mov esi, eax
call fcn.0057ed20
push esi
push edi
mov dword [esp + 0x5c], eax
call fcn.00589b40
mov eax, dword [esp + 0x68]
lea esi, [ebx + 1]
add esp, 0x20
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1c], 0x80
jne 0x5b0a5f
push 0x70
push ecx
push dword [esp + 0x28]
push ebx
push dword [esp + 0x54]
call fcn.00567170
push 0
push ebx
push 0x24
push edi
call fcn.0057edd0
mov dword [esp + 0x5c], eax
add esp, 0x24
mov eax, dword [esp + 0x48]
cmp word [eax + 0x20], 0
jl 0x5b095b
push dword [esp + 0x18]
push ebx
push 0x87
push edi
call fcn.0057edd0
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
jne 0x5b0944
push dword [esp + 0x18]
push 0
push esi
push 0x1f
push edi
call fcn.0057ee30
push dword [esp + 0x5c]
mov esi, eax
push dword [esp + 0x68]
push dword [esp + 0x60]
call fcn.005731a0
push esi
push edi
call fcn.00589b40
add esp, 0x28
push dword [esp + 0x18]
push ebp
push dword [esp + 0x4c]
call fcn.004ea0a0
mov ebp, dword [esp + 0x20]
add esp, 0xc
jmp 0x5b0995
cmp dword [eax + 8], 0
jne 0x5b097e
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 8
jne 0x5b097e
push dword [esp + 0x18]
push esi
push 0x7f
push edi
call fcn.0057edd0
mov ebp, dword [esp + 0x24]
jmp 0x5b0990
push dword [esp + 0x18]
mov ebp, ebx
push ebp
push 0x87
push edi
call fcn.0057edd0
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x5b09b8
lea eax, [ebp + 1]
push eax
push 0x89
push edi
call fcn.0057ed70
add esp, 0xc
mov esi, 0x98
jmp 0x5b09bd
mov esi, 0xa9
push dword [esp + 0x18]
lea eax, [ebp + 1]
push ebp
push eax
push 0x81
push edi
call fcn.0057ee30
push dword [esp + 0x2c]
lea eax, [ebp + 1]
push dword [esp + 0x3c]
push eax
push pe_nt_image_headers32
push edi
call fcn.0057ee30
mov eax, dword [esp + 0x44]
add esp, 0x28
test byte [eax + 0x18], 4
jne 0x5b0a2c
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x5b0a2c
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x48]
add eax, 0xffffffec
cmp byte [eax + 1], 0
je 0x5b0a25
push 0xfffffffffffffffb
push ecx
push eax
push edi
call fcn.0059d7a0
add esp, 0x10
jmp 0x5b0a2c
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xfb
push esi
push edi
call fcn.0057f390
push ebx
push ebp
push 0x27
push edi
call fcn.0057edd0
push 0
push ebp
push 0x7a
push edi
call fcn.0057edd0
push 0
lea esi, [ebp + 1]
push esi
push 0x7a
push edi
call fcn.0057edd0
mov ebx, dword [esp + 0x58]
add esp, 0x38
jmp 0x5b0a91
push dword [eax]
mov ebp, dword [esp + 0x48]
push 1
push dword [eax + 0x14]
push dword [esp + 0x60]
push ebp
call fcn.00579cd0
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
push dword [eax]
push 0
push dword [eax + 0x14]
push ebx
push ebp
call fcn.00579cd0
mov ebp, dword [esp + 0x3c]
add esp, 0x28
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
test eax, eax
je 0x5b0f58
mov eax, dword [esp + 0x10]
mov byte [esp + 0x2c], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x5b0ad1
mov ebp, dword [esp + 0x28]
push esi
push ebp
call fcn.005b0270
add esp, 8
test eax, eax
jne 0x5b0acd
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x5b0ab8
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x5b0aec
push ebx
push edx
push ebp
push 0x70
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x5b0b17
mov ebp, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
push esi
push eax
mov ebx, dword [eax + 8]
call fcn.00564a60
mov edx, eax
add esp, 8
test edx, edx
je 0x5b0b64
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x5b0b52
cmp dword [eax + 0x210], 0
jne 0x5b0b64
add dword [edx], 0xffffffff
jne 0x5b0b64
push edx
push dword [edx + 0xc]
call fcn.0054ad00
add esp, 8
jmp 0x5b0b64
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x5b0b89
push dword [esp + 0x54]
lea eax, [ebp + 1]
push edx
push eax
push 0x71
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x5b0bb7
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea ebx, [ebp + 1]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
push dword [esp + 0x28]
push eax
mov ebx, dword [eax + 8]
call fcn.00564a60
mov edx, eax
add esp, 8
test edx, edx
je 0x5b0c07
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x5b0bf5
cmp dword [eax + 0x210], 0
jne 0x5b0c07
add dword [edx], 0xffffffff
jne 0x5b0c07
push edx
push dword [edx + 0xc]
call fcn.0054ad00
add esp, 8
jmp 0x5b0c07
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x5b0c1e
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x30], edx
cmp dword [edi + 0x70], edx
jg 0x5b0c40
push 0
push 0
push ebp
push 0x24
push edi
call fcn.0051dc60
add esp, 0x14
mov dword [esp + 0x30], eax
jmp 0x5b0c6f
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x5b0d5a
movzx ebp, word [esi + 0x34]
xor ebx, ebx
test ebp, ebp
je 0x5b0cb0
mov esi, dword [esi + 0x20]
nop word [eax + eax]
mov eax, dword [esi]
test eax, eax
je 0x5b0cb0
push eax
push str.BINARY
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x5b0cb0
inc ebx
add esi, 4
cmp ebx, ebp
jl 0x5b0c90
cmp ebx, ebp
jne 0x5b0d80
mov ecx, dword [edi + 0x6c]
mov bl, 0x90
mov esi, dword [esp + 0x34]
cmp dword [edi + 0x70], ecx
jg 0x5b0cdb
push 0
push 0
push esi
push 0x89
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x5b0d0a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x89
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [edi + 0x70], ecx
jg 0x5b0d31
push 0
push ebp
push esi
push 0x81
push edi
call fcn.0051dc60
mov edx, dword [esp + 0x38]
add esp, 0x14
jmp 0x5b0de0
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x81
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x5b0dd8
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
test byte [eax + 0x1c], 0x80
je 0x5b0d88
mov eax, dword [esp + 0x28]
movzx ebx, bl
mov al, byte [eax + 0x38]
and al, 3
cmp al, 2
mov eax, 1
cmove ebx, eax
jmp 0x5b0d88
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x5b0dae
push 1
push dword [esp + 0x28]
push ebp
push 0x86
push edi
call fcn.0051dc60
mov edx, dword [esp + 0x38]
lea esi, [ebp + 1]
add esp, 0x14
jmp 0x5b0de0
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x5b0dfc
push 0
push edx
push esi
push 0x8a
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x5b0e2b
mov ebp, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x5b0e43
lea ecx, [eax + eax*4]
or bl, 8
mov eax, dword [edi + 0x68]
movzx edx, bl
mov word [eax + ecx*4 - 0x12], dx
mov ebx, dword [esp + 0x30]
mov ecx, dword [edi + 0x6c]
lea edx, [ebx + 1]
cmp dword [edi + 0x70], ecx
jg 0x5b0e63
push 0
push edx
push ebp
push 0x27
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x5b0e91
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x5b0ea3
mov eax, 0x64e020
jmp 0x5b0eac
mov eax, dword [edi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x5b0ec9
push 0
push 0
push ebp
push 0x7a
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x5b0ef8
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x5b0f12
push 0
push 0
push esi
push 0x7a
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x5b0f41
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x5b0aa4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x5b0f6a
push eax
push edi
call fcn.00589b40
add esp, 8
push dword [esp + 0x18]
mov ebx, dword [esp + 0x48]
push ebx
call fcn.00571fa0
push dword [esp + 0x2c]
push ebx
call fcn.00571fa0
mov ebp, dword [esp + 0x4c]
add esp, 0x10
test ebp, ebp
je 0x5b0fc7
cmp dword [ebx + 0x7c], 0
je 0x5b0f9c
push ebx
call fcn.004ea0d0
add esp, 4
push 0
push 0
push 0x46
push edi
call fcn.0057edd0
push ebp
push edi
call fcn.00589b40
push 0
push esi
push 0x7a
push edi
call fcn.0057edd0
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret