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

Disassembly:
sub esp, 0xa8
push ebx
push ebp
xor eax, eax
mov dword [esp + 0x74], 0
push esi
xor ecx, ecx
mov dword [esp + 0x8c], eax
cmp dword [esp + 0xd0], eax
push edi
mov edi, dword [esp + 0xbc]
setne byte [esp + 0x12]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x88], eax
mov eax, dword [edi]
mov esi, dword [edi + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x8c], ecx
movsx ebx, word [eax + 0x22]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x58], 0
mov byte [esp + 0x13], 0
mov dword [esp + 0x5c], esi
mov dword [esp + 0x74], ebx
test cl, cl
js 0x530fa3
mov dword [esp + 0x28], 0
mov dword [esp + 0x70], 1
jmp 0x530fcc
mov edx, dword [eax + 8]
mov dword [esp + 0x28], edx
test edx, edx
je 0x530fc4
mov edi, edi
mov eax, dword [edx + 0x38]
and al, 3
cmp al, 2
je 0x530fc0
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x530fb0
mov dword [esp + 0x28], edx
movzx eax, word [edx + 0x32]
mov dword [esp + 0x70], eax
test ecx, 0x800
je 0x5312fd
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
lea ebx, [ebx]
xor ebp, ebp
test ebx, ebx
jle 0x5312ab
mov eax, dword [esp + 0xc0]
xor edi, edi
mov dword [esp + 0x54], edi
mov ebx, dword [eax + 4]
add ebx, edi
mov edi, dword [ebx + 4]
and edi, 0xf
je 0x531288
movsx eax, word [eax + 0x20]
cmp ebp, eax
je 0x531281
movzx eax, word [ebx + 0xe]
and eax, 0x60
je 0x53103b
test ecx, ecx
jne 0x53103b
inc edx
mov dword [esp + 0x18], edx
jmp 0x531281
cmp dword [esp + 0xe8], 0
mov esi, dword [esp + 0x5c]
je 0x531062
mov esi, dword [esp + 0xe8]
cmp dword [esi + ebp*4], 0
mov esi, dword [esp + 0x5c]
jge 0x531062
test eax, eax
je 0x531281
cmp byte [esp + 0xdc], 0xb
mov ecx, dword [esp + 0x20]
je 0x531092
movzx edi, byte [esp + 0xdc]
mov edx, dword [esp + 0x18]
cmp edi, 5
jne 0x53109c
test ecx, ecx
jne 0x53108b
cmp word [ebx + 0xc], cx
jne 0x5310a8
mov edi, 2
jmp 0x5310a8
cmp edi, 0xb
jne 0x53107c
mov edi, 2
test ecx, ecx
je 0x5310a8
test eax, eax
je 0x531281
push ebp
push dword [esp + 0xc4]
call fcn.00546e50
mov edx, dword [esp + 0xd8]
add esp, 8
cwde
inc edx
add edx, eax
lea eax, [edi - 1]
mov dword [esp + 0x24], edx
cmp eax, 4
ja case.0x5310d3.4
jmp dword [eax*4 + 0x53338c]
push edx
push 0x33
push esi
call fcn.0054b390
inc dword [esp + 0x38]
mov edi, eax
movzx eax, word [ebx + 0xc]
add esp, 0xc
test ax, ax
jne 0x5310f9
xor eax, eax
jmp 0x531124
mov ecx, dword [esp + 0xc0]
cmp byte [ecx + 0x2b], 0
je 0x53110a
xor eax, eax
jmp 0x531124
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x531115
xor eax, eax
jmp 0x531124
cmp dword [ecx], eax
jge 0x53111d
xor eax, eax
jmp 0x531124
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
mov edx, dword [esp + 0x24]
push edx
push eax
push dword [esp + 0xc4]
call fcn.00524f70
mov edx, dword [esi + 0x74]
add esp, 0xc
test edi, edi
jns 0x531143
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x531158
mov eax, 0x5e05ac
mov dword [eax + 8], edx
jmp 0x531279
mov eax, dword [esi + 0x70]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x531279
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x53117a
mov eax, ecx
mov byte [eax + 0x15], 1
push dword [ebx]
mov eax, dword [esp + 0xc4]
push dword [eax]
push str._s._s
push dword [esp + 0x3c]
call fcn.00538790
mov ecx, dword [esi + 0x74]
add esp, 0x10
mov ebx, eax
mov edx, dword [esp + 0x24]
cmp dword [esi + 0x78], ecx
jg 0x5311bc
push edx
push edi
push 0x513
push 0x45
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x5311e7
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0x513
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x5311fd
push ebx
push 0xfffffffffffffff9
push eax
call fcn.004eccc0
add esp, 0xc
jmp 0x53120f
mov eax, dword [esi + 0x74]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
mov byte [eax + ecx*4 - 0x13], 0xf9
mov dword [eax + ecx*4 - 4], ebx
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x531279
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x531279
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x531247
push 0
push dword [esp + 0xe4]
push edx
push 0x32
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x531279
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xe0]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x54]
inc ebp
mov ebx, dword [esp + 0x74]
add edi, 0x10
mov dword [esp + 0x54], edi
cmp ebp, ebx
jl 0x531007
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0xbc]
test edx, edx
jne 0x5312b3
test eax, eax
je 0x5312fd
test ecx, ecx
jne 0x5312fd
mov ecx, 1
mov dword [esp + 0x20], ecx
test eax, eax
jle 0x530ff0
mov ebp, dword [esp + 0xc0]
test byte [ebp + 0x1c], 0x60
je 0x530ff0
mov eax, dword [esp + 0xd0]
push ebp
inc eax
push eax
push edi
call fcn.0051fd40
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
jmp 0x530ff0
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x24], edx
test edx, edx
je 0x531618
mov eax, dword [ecx + 0x20]
and eax, 0x200
or eax, 0
jne 0x531618
or eax, 0xffffffff
sub eax, dword [esp + 0xd0]
mov dword [edi + 0x34], eax
mov al, byte [esp + 0xdc]
movzx ebp, al
cmp al, 0xb
jne 0x531348
mov ebp, 2
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [edx], ecx
jle 0x53160d
mov ebx, dword [esp + 0xe8]
lea eax, [edx + 0xc]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x74], 0xfffd
lea esp, [esp]
mov edi, dword [eax - 4]
test ebx, ebx
je 0x531405
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov word [esp + 0xa8], ax
mov dword [esp + 0x98], 0x4df7f0
mov dword [esp + 0xac], ebx
test edi, edi
je 0x5313ed
lea eax, [esp + 0x94]
push edi
push eax
call fcn.0056b2f0
mov ax, word [esp + 0xb0]
add esp, 8
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
cmp byte [esp + 0xd8], 0
jne 0x5313fc
and ax, word [esp + 0x74]
test ax, ax
je 0x5315e7
cmp byte [esp + 0x13], 0
jne 0x53142a
mov eax, dword [esp + 0xd0]
inc eax
push eax
push dword [esp + 0xc4]
push esi
call fcn.00546c70
add esp, 0xc
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0xbc]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
test edi, edi
je 0x531457
push 0
push 0
push edi
push dword [esp + 0x3c]
call fcn.004e8dd0
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0xbc]
jmp 0x531459
xor edi, edi
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0x57], 0
jne 0x531474
push 0x10
push ebx
push edi
push eax
call fcn.005283e0
mov ecx, dword [esp + 0x40]
add esp, 0x10
test edi, edi
je 0x531482
push edi
push ecx
call fcn.00527c90
add esp, 8
cmp ebp, 4
jne 0x5314e5
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x5314aa
push 0
push dword [esp + 0xe4]
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x5315b5
mov edx, dword [esp + 0xe0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x5315b5
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
cmp ebp, 5
jne 0x5314f9
mov ebp, 2
mov ecx, dword [esp + 0xbc]
mov edi, dword [ecx + 8]
test edi, edi
jne 0x53152a
cmp dword [ecx + 0x74], edi
jne 0x531518
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x531518
mov byte [ecx + 0x17], 1
push ecx
call fcn.0054be70
mov ecx, dword [esp + 0xc0]
add esp, 4
mov edi, eax
cmp ebp, 2
jne 0x53153c
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x531538
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x53155b
push 0
push ebp
push 0x113
push 0x46
push edi
call fcn.004ffef0
add esp, 0x14
mov edx, eax
jmp 0x53158e
mov esi, dword [esp + 0x5c]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0x113
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x58]
push edx
push edi
call fcn.0054b970
mov eax, dword [edi + 0x74]
add esp, 0x10
test eax, eax
jle 0x5315b5
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5315cf
push ebx
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x5315d8
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0xe8]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
inc ecx
add eax, 0x14
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], eax
cmp ecx, dword [edx]
jl 0x531370
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
mov dword [edi + 0x34], 0
mov edx, dword [esp + 0xec]
mov eax, dword [ebx + 8]
mov dword [esp + 0x54], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x2c], eax
test edx, edx
je 0x5317ce
cmp dword [edx], 0
jne 0x531674
cmp byte [edx + 0x14], 0
jne 0x531667
xor eax, eax
mov byte [esp + 0xdc], 4
mov dword [esp + 0xec], eax
jmp 0x5317ce
mov byte [esp + 0xdc], 6
jmp 0x5317ce
test eax, eax
je 0x5317ce
xor edi, edi
mov edi, edi
mov eax, dword [eax + 0x14]
inc edi
test eax, eax
jne 0x531680
lea ebx, [edi + edi*4]
mov dword [esp + 0x54], 1
add ebx, ebx
mov dword [esp + 0x2c], edi
xor edx, edx
test ecx, ecx
je 0x5316ae
push edx
push ebx
push ecx
call fcn.00521f00
add esp, 0xc
mov edx, eax
jmp 0x531718
mov eax, ebx
or eax, edx
je 0x531716
test edx, edx
ja 0x531716
jb 0x5316c2
cmp ebx, 0x7fffff00
jae 0x531716
cmp dword [0x5d72d8], edx
je 0x531704
mov eax, dword [0x5e0280]
test eax, eax
je 0x5316dd
push eax
call dword [0x5d7328]
add esp, 4
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.00505e70
mov eax, dword [0x5e0280]
add esp, 8
test eax, eax
je 0x5316fe
push eax
call dword [0x5d7330]
add esp, 4
mov edx, dword [esp + 0x40]
jmp 0x531718
push ebx
call dword [0x5d72f8]
add esp, 4
mov dword [esp + 0x18], eax
mov edx, eax
jmp 0x53171c
xor edx, edx
mov dword [esp + 0x18], edx
test edx, edx
je 0x53337e
push ebx
push 0
push edx
call sub.MSVCRT.dll_memset
mov edx, dword [esp + 0x24]
add esp, 0xc
test edx, edx
je 0x53337e
mov eax, dword [esp + 0xec]
lea ebp, [edx + edi*8]
mov esi, dword [esp + 0xc0]
xor ebx, ebx
mov edi, eax
mov dword [eax + 0x18], edx
cmp dword [edi], 0
je 0x53179f
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x531794
mov eax, dword [esi + 8]
xor ecx, ecx
test eax, eax
je 0x53177c
lea esp, [esp]
cmp eax, edx
je 0x53177c
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x531770
cmp byte [ecx + ebp], 0
mov edx, dword [esp + 0x18]
jne 0x531798
mov byte [ecx + ebp], 1
mov dword [edx + ebx*8], eax
mov dword [edx + ebx*8 + 4], ecx
inc ebx
jmp 0x531798
mov edx, dword [esp + 0x18]
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x531754
mov eax, esi
xor ecx, ecx
mov esi, dword [esp + 0x5c]
mov eax, dword [eax + 8]
test eax, eax
je 0x5317c7
lea edx, [edx + ebx*8]
cmp byte [ecx + ebp], 0
jne 0x5317bf
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x5317b1
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0xbc]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xb4], eax
mov eax, ecx
and eax, 0x6000
or eax, 0
jne 0x531802
mov dword [esp + 0x80], eax
mov dword [esp + 0x4c], eax
jmp 0x5318c6
and ecx, 0x2000
or ecx, 0
push 0
push 0
je 0x531846
push pe_nt_image_headers32
push ebx
push edi
call fcn.005476f0
mov ebp, eax
add esp, 0x14
mov dword [esp + 0x80], ebp
test ebp, ebp
jne 0x531865
push eax
push eax
push ebx
push edi
call fcn.0052bf10
add esp, 0x10
test eax, eax
jne 0x531865
mov dword [esp + 0x4c], eax
jmp 0x5318c6
push ebx
push edi
mov dword [esp + 0x90], 0
call fcn.0052bf10
mov edx, eax
add esp, 0x10
mov dword [esp + 0x4c], edx
test edx, edx
je 0x5318c6
inc dword [edi + 0x2c]
mov ecx, dword [esi + 0x74]
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x4c], edx
cmp dword [esi + 0x78], ecx
jg 0x531889
push 0
push edx
push 0
push 0x47
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x5318b8
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], eax
cmp byte [esp + 0xd8], 0
je 0x531f0e
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x531f0e
dec dword [edi + 0x38]
mov al, byte [esp + 0xdc]
mov ebp, dword [edi + 0x38]
movzx ebx, byte [ebx + 0x2a]
mov dword [esp + 0x40], ebp
cmp al, 0xb
je 0x5318fe
movzx ebx, al
jmp 0x531908
cmp ebx, 0xb
jne 0x531908
mov ebx, 2
mov ecx, dword [esp + 0xec]
test ecx, ecx
je 0x5319aa
mov eax, ecx
lea esp, [esp]
cmp dword [eax], 0
je 0x531932
cmp dword [eax + 0x1c], 0
je 0x531932
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x531920
mov dword [esp + 0x58], eax
test eax, eax
je 0x531949
xor ebx, ebx
cmp byte [eax + 0x14], bl
setne bl
lea ebx, [ebx*2 + 4]
cmp eax, ecx
je 0x5319a3
mov edx, dword [esi + 0x74]
mov dword [esp + 0x64], edx
cmp dword [esi + 0x78], edx
jg 0x531970
push 0
push 0
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
mov dword [esp + 0x64], eax
jmp 0x5319a3
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov al, byte [esp + 0xdc]
cmp ebx, 5
jne 0x531a28
cmp al, bl
je 0x531a28
mov eax, dword [esp + 0xc0]
cmp dword [eax + 8], 0
je 0x531a28
cmp dword [esp + 0x64], 0
jne 0x531a28
mov edx, dword [esi + 0x74]
cmp dword [esi + 0x78], edx
jg 0x5319e4
push 0
push 0
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
mov edx, eax
jmp 0x531a1e
mov edi, dword [esp + 0xbc]
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [edx + 1]
mov dword [esp + 0x8c], eax
cmp byte [esp + 0x12], 0
je 0x531a9f
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x531a53
push dword [esp + 0xd4]
push ebp
push dword [esp + 0xd8]
push 0x35
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x531a88
mov edx, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x531a9f
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x531aca
push dword [esp + 0xd0]
push ebp
push dword [esp + 0xd0]
push 0x21
push esi
call fcn.004ffef0
mov edx, dword [esp + 0xdc]
add esp, 0x14
jmp 0x531b06
mov edi, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov edx, dword [esp + 0xc8]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0xbc]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [ebx - 1]
cmp eax, 5
ja case.default.0x531b12
jmp dword [eax*4 + 0x5333a0]
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x531bd9
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x531b2e
mov eax, edi
push 0xffffffffffffffff
push 1
push 5
push 0
push 1
push dword [esp + 0xe4]
mov byte [eax + 0x14], 1
push dword [esp + 0xe4]
push edx
push dword [esp + 0xa0]
push dword [esp + 0xe4]
push edi
call fcn.005335d0
mov ecx, dword [esi + 0x74]
add esp, 0x2c
cmp dword [esi + 0x78], ecx
jg 0x531b92
push 0
push 1
push ebx
push 0x55
push esi
call fcn.004ffef0
add esp, 0x14
mov dword [esp + 0x88], 1
mov dword [esp + 0x7c], 1
jmp 0x531de3
lea eax, [ecx + 1]
mov dword [esp + 0x88], 1
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [esp + 0x7c], 1
mov dword [eax + ecx*4], 0x55
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x531de3
mov ecx, dword [esp + 0xc0]
cmp dword [ecx + 8], 0
je 0x531c09
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x531bef
mov eax, edi
push 0xffffffffffffffff
push 0
push dword [esp + 0xd4]
mov byte [eax + 0x14], 1
push edx
push ecx
push edi
call fcn.005339c0
add esp, 0x18
mov dword [esp + 0x7c], 1
jmp 0x531de3
mov eax, dword [esp + 0xec]
push edx
push 0
push dword [esp + 0xc8]
push eax
push edi
call fcn.0054a700
add esp, 0x14
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x531c54
push 0
push dword [esp + 0xe4]
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x531de3
mov edx, dword [esp + 0xe0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x531de3
mov ebx, 2
mov edx, dword [esp + 0xc0]
movzx eax, word [edx + 0x20]
test ax, ax
js 0x531cca
movsx ecx, ax
mov eax, dword [edx + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx]
push str._s._s
push dword [edi]
call fcn.00538790
add esp, 0x10
mov dword [esp + 0x24], 0x613
jmp 0x531ce3
push dword [edx]
push str._s.rowid
push dword [edi]
call fcn.00538790
add esp, 0xc
mov dword [esp + 0x24], 0xa13
mov edi, dword [edi + 8]
mov ebp, eax
test edi, edi
jne 0x531d0f
mov ecx, dword [esp + 0xbc]
cmp dword [ecx + 0x74], edi
jne 0x531d04
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x531d04
mov byte [ecx + 0x17], 1
push ecx
call fcn.0054be70
add esp, 4
mov edi, eax
cmp ebx, 2
jne 0x531d28
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x531d24
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x531d46
push 0
push ebx
push dword [esp + 0x2c]
push 0x46
push edi
call fcn.004ffef0
add esp, 0x14
mov edx, eax
jmp 0x531d79
mov esi, dword [esp + 0x24]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x531d8f
push ebp
push 0xfffffffffffffff9
push eax
call fcn.004eccc0
add esp, 0xc
jmp 0x531dc1
test edx, edx
jns 0x531d97
mov edx, dword [edi + 0x74]
dec edx
mov eax, dword [edi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
jne 0x531db4
test ebp, ebp
je 0x531dc1
mov dword [eax + 0x10], ebp
mov byte [eax + 1], 0xf9
jmp 0x531dc1
push 0xfffffffffffffff9
push ebp
push eax
push edi
call fcn.00564cf0
add esp, 0x10
mov eax, dword [edi + 0x74]
mov ebp, dword [esp + 0x40]
test eax, eax
jle 0x531ddc
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0xbc]
mov ecx, dword [esi + 0xc]
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x531dfd
push ebp
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x531e06
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebp*4], eax
mov ecx, dword [esp + 0xec]
test ecx, ecx
je 0x531e7b
cmp dword [esp + 0x58], ecx
je 0x531e7b
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x84], ecx
cmp dword [esi + 0x78], ecx
jg 0x531e43
push 0
push 0
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
mov dword [esp + 0x84], eax
jmp 0x531f0e
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x531f0e
mov ebp, dword [esp + 0x8c]
test ebp, ebp
je 0x531f15
mov ebx, dword [esi + 0x74]
mov dword [esp + 0x90], ebx
cmp dword [esi + 0x78], ebx
jg 0x531eb3
push 0
push 0
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
mov dword [esp + 0x90], eax
jmp 0x531ee6
lea eax, [ebx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x74]
lea ecx, [ebp - 1]
test ecx, ecx
jns 0x531ef3
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x531f02
mov eax, 0x5e05ac
jmp 0x531f0b
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0xec]
cmp dword [esp + 0x54], 0
je 0x531f27
mov eax, dword [esp + 0x18]
mov ebp, dword [eax + 4]
mov ebx, dword [eax]
jmp 0x531f2d
mov ebx, dword [esp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebp
test ebx, ebx
je 0x532f85
lea ecx, [ecx]
mov eax, dword [esp + 0xc4]
cmp dword [eax + ebp*4], 0
je 0x532f29
test ecx, ecx
je 0x531fa2
mov eax, ecx
cmp dword [eax], 0
je 0x531f68
cmp dword [eax + 0x1c], ebx
je 0x531f68
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x531f57
cmp dword [esp + 0x64], 0
mov dword [esp + 0x58], eax
je 0x531fa2
cmp eax, ecx
jne 0x531fa2
mov eax, dword [esp + 0x64]
mov ecx, eax
mov edx, dword [esi + 0x74]
test eax, eax
jns 0x531f87
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x531f96
mov eax, 0x5e05ac
jmp 0x531f9f
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
dec dword [edi + 0x38]
cmp byte [esp + 0x13], 0
mov eax, dword [edi + 0x38]
mov dword [esp + 0x20], eax
jne 0x531fd1
mov eax, dword [esp + 0xd0]
inc eax
push eax
push dword [esp + 0xc4]
push esi
call fcn.00546c70
add esp, 0xc
mov byte [esp + 0x13], 1
add ebp, dword [esp + 0xcc]
cmp dword [ebx + 0x24], 0
mov dword [esp + 0x68], ebp
je 0x5320a7
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esi + 0x74]
mov edx, dword [eax + edx*4]
cmp dword [esi + 0x78], ecx
jg 0x53200e
push 0
push edx
push 0
push 0x4a
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532041
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x4a
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
or eax, 0xffffffff
sub eax, dword [esp + 0xd0]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x24]
mov ebx, dword [edi]
test eax, eax
je 0x532069
push 0
push 0
push eax
push ebx
call fcn.004e8dd0
add esp, 0x10
mov edi, eax
jmp 0x53206b
xor edi, edi
cmp byte [ebx + 0x57], 0
jne 0x532087
push 0x10
push dword [esp + 0x24]
push edi
push dword [esp + 0xc8]
call fcn.00527fb0
add esp, 0x10
test edi, edi
je 0x532095
push edi
push ebx
call fcn.00527c90
add esp, 8
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x14]
mov dword [edi + 0x34], 0
mov ecx, dword [esp + 0xc4]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
inc eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], eax
cmp dx, word [ebx + 0x34]
jae 0x532294
xor ebx, ebx
mov ebp, eax
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
movsx ecx, word [eax + ecx*2]
cmp ecx, 0xfffffffe
jne 0x53214e
or eax, 0xffffffff
sub eax, dword [esp + 0xd0]
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x28]
mov eax, dword [eax + ebx + 8]
mov ebx, dword [edi]
test eax, eax
je 0x532110
push 0
push 0
push eax
push ebx
call fcn.004e8dd0
add esp, 0x10
mov edi, eax
jmp 0x532112
xor edi, edi
cmp byte [ebx + 0x57], 0
jne 0x532129
push ebp
push edi
push dword [esp + 0xc4]
call fcn.00524f20
add esp, 0xc
test edi, edi
je 0x532137
push edi
push ebx
call fcn.00527c90
add esp, 8
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x38]
mov dword [edi + 0x34], 0
jmp 0x532267
cmp ecx, 0xffffffff
je 0x532216
mov eax, dword [esp + 0xc0]
movsx eax, word [eax + 0x20]
cmp ecx, eax
je 0x532216
mov eax, dword [esp + 0xc0]
test byte [eax + 0x1c], 0x20
je 0x5321cc
test cx, cx
js 0x5321cc
movsx ecx, cx
xor edi, edi
xor edx, edx
test ecx, ecx
jle 0x5321a3
mov eax, dword [eax + 4]
mov edi, ecx
add eax, 0xe
nop
test byte [eax], 0x20
jne 0x532196
inc edx
add eax, 0x10
dec ecx
jne 0x532190
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov ecx, edi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x20
je 0x5321c7
mov eax, dword [esp + 0xc0]
mov ax, word [eax + 0x24]
sub ax, dx
add ax, di
movzx eax, ax
jmp 0x5321cf
movzx eax, dx
jmp 0x5321cf
movzx eax, cx
mov edx, dword [esp + 0xd0]
mov ecx, dword [esi + 0x74]
inc edx
cwde
add edx, eax
cmp dword [esi + 0x78], ecx
jg 0x5321fa
push 0
push ebp
push edx
push 0x50
push esi
call fcn.004ffef0
mov edi, dword [esp + 0xd0]
add esp, 0x14
jmp 0x532267
mov edi, dword [esp + 0xbc]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x50
jmp 0x53224f
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x532235
push 0
push ebp
push dword [esp + 0xd8]
push 0x51
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532267
mov edx, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x51
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esp + 0x14]
add ebx, 0x14
mov ecx, dword [esp + 0x40]
inc ebp
inc ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ecx
movzx eax, word [eax + 0x34]
cmp ecx, eax
jl 0x5320d4
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x1c]
movzx edi, word [ebx + 0x34]
mov edx, dword [ecx + edx*4]
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x5322be
push edx
push edi
push eax
push 0x60
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x5322ed
mov ebp, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x12], 0
mov edx, dword [esp + 0x28]
je 0x532335
cmp edx, ebx
jne 0x532335
cmp byte [esp + 0xd8], 0
jne 0x532335
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x532327
push edx
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x532f25
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
jmp 0x532f25
movzx ebx, byte [ebx + 0x36]
mov dword [esp + 0x60], ebx
test ebx, ebx
jne 0x532362
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x532327
push edx
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x532f25
mov al, byte [esp + 0xdc]
cmp al, 0xb
je 0x532372
movzx ebx, al
jmp 0x53237c
cmp ebx, 0xb
jne 0x532380
mov ebx, 2
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x53239b
xor ebx, ebx
cmp byte [eax + 0x14], bl
setne bl
lea ebx, [ebx*2 + 4]
mov dword [esp + 0x60], ebx
cmp dword [esp + 0x1c], 0
jne 0x5323f2
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x14], 0
jne 0x5323f2
cmp edx, ecx
jne 0x5323f2
cmp ebx, 5
jne 0x5323f2
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
and eax, 0x2000
mov dword [esp + 0x40], eax
lea eax, [ebx - 5]
jne 0x5323ce
test eax, eax
je 0x532429
mov edi, dword [esp + 0xc0]
push 0
push 0
push pe_nt_image_headers32
push edi
push dword [esp + 0xcc]
call fcn.005476f0
add esp, 0x14
test eax, eax
je 0x532430
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x74]
mov dword [esp + 0x3c], edx
movzx edi, word [eax + 0x32]
cmp dword [esi + 0x78], edx
jg 0x53248e
push dword [esp + 0x48]
push dword [esp + 0x24]
push ebp
push 0x1d
push esi
call fcn.004ffef0
mov edx, eax
add esp, 0x14
mov dword [esp + 0x3c], edx
jmp 0x5324c1
mov edi, dword [esp + 0xc0]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
and eax, 0x4000
mov dword [esp + 0x40], eax
mov eax, 0
jne 0x53244b
test eax, eax
je 0x532469
cmp dword [edi + 0x30], eax
jne 0x5323f2
mov eax, dword [edi + 0x3c]
push 0
push dword [edi]
add eax, 0x38
push eax
call fcn.004ea8f0
add esp, 0xc
cmp dword [eax + 8], 0
jne 0x5323f2
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x532327
push edx
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x532f25
mov ebx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x5324d8
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x14]
cmp edi, dword [esp + 0x28]
jne 0x5324ec
mov edx, dword [esp + 0x48]
mov dword [esp + 0x50], edx
jmp 0x53254d
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0xbc]
cmp eax, 1
jne 0x53251c
mov al, byte [edi + 0x13]
test al, al
jne 0x53250b
inc dword [edi + 0x2c]
mov edx, dword [edi + 0x2c]
jmp 0x532545
dec al
mov byte [edi + 0x13], al
movzx eax, al
mov edx, dword [edi + eax*4 + 0x98]
jmp 0x532545
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x50], edx
cmp eax, ecx
jg 0x532538
add eax, edx
sub ecx, dword [esp + 0x70]
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], ecx
jmp 0x532549
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
add eax, dword [esp + 0x70]
mov dword [edi + 0x2c], eax
mov dword [esp + 0x50], edx
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x12], 0
jne 0x53255d
cmp ebx, 5
jne 0x532922
mov eax, dword [esp + 0xc0]
test byte [eax + 0x1c], 0x80
jne 0x532637
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x53258e
push 0
push edx
push ebp
push 0x8d
push esi
call fcn.004ffef0
mov edx, dword [esp + 0x64]
add esp, 0x14
jmp 0x5325b9
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x8d
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
cmp byte [esp + 0x12], 0
je 0x532922
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x5325e5
push dword [esp + 0xd4]
push dword [esp + 0x24]
push edx
push 0x35
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532617
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x532922
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x532922
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x5326e6
xor ecx, ecx
xor ebp, ebp
cmp cx, word [eax + 0x32]
jae 0x5326e6
mov ebx, edx
movzx edx, word [edi + 0x34]
xor ecx, ecx
test edx, edx
jle 0x53267d
mov eax, dword [eax + 4]
movzx edi, word [eax + ebp*2]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
jmp 0x532670
cmp di, word [eax]
je 0x53269e
inc ecx
add eax, 2
cmp ecx, edx
jl 0x532670
or eax, 0xffffffff
mov ecx, dword [esi + 0x74]
movsx edx, ax
cmp dword [esi + 0x78], ecx
jg 0x5326a3
push ebx
push edx
push dword [esp + 0x70]
push 0x5d
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x5326ce
movzx eax, cx
jmp 0x532680
mov edi, dword [esp + 0x68]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x28]
inc ebp
mov edi, dword [esp + 0x14]
inc ebx
movzx eax, word [ecx + 0x32]
cmp ebp, eax
mov eax, ecx
jl 0x532653
cmp byte [esp + 0x12], 0
je 0x532922
movzx ecx, word [eax + 0x32]
mov eax, dword [esi + 0x74]
add eax, ecx
mov dword [esp + 0x78], 0x34
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
mov eax, dword [esp + 0x48]
je 0x532717
mov eax, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ebx
test ecx, ecx
jle 0x532922
mov ecx, dword [esp + 0x28]
lea ecx, [ecx]
mov eax, dword [ecx + 0x20]
mov edi, dword [eax + ebx*4]
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov bl, byte [ecx + 0x54]
mov bh, byte [ecx + 0xb1]
mov byte [esp + 0xb0], bl
test edi, edi
je 0x53282b
movzx eax, bh
push eax
push edi
push ecx
call fcn.004ea780
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x532778
movzx eax, bl
lea eax, [eax + eax*4]
lea ebp, [ebp + eax*4]
add ebp, 0xffffffec
mov eax, dword [esp + 0xbc]
test bh, bh
jne 0x5327a1
test ebp, ebp
je 0x53278d
cmp dword [ebp + 0xc], 0
jne 0x5327a1
push edi
push ebp
push dword [esp + 0xb8]
push eax
call fcn.00533b60
add esp, 0x10
mov ebp, eax
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ecx, dword [eax + 4]
movsx edx, word [ecx + ebx*2]
movzx ecx, word [eax + 0x32]
dec ecx
cmp ebx, ecx
jne 0x5327c9
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x78], 0x35
mov eax, dword [esp + 0xc0]
test byte [eax + 0x1c], 0x20
je 0x53283c
test dx, dx
js 0x53283c
movsx ecx, dx
xor ebx, ebx
xor edi, edi
test ecx, ecx
jle 0x532803
mov eax, dword [eax + 4]
mov ebx, ecx
add eax, 0xe
mov edi, edi
test byte [eax], 0x20
jne 0x5327f6
inc edi
add eax, 0x10
dec ecx
jne 0x5327f0
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov ecx, ebx
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x20
je 0x532833
mov eax, dword [esp + 0xc0]
mov ax, word [eax + 0x24]
sub ax, di
add ax, bx
mov ebx, dword [esp + 0x24]
movzx eax, ax
jmp 0x53283f
mov ebp, dword [ecx + 8]
jmp 0x53277f
mov ebx, dword [esp + 0x24]
movzx eax, di
jmp 0x53283f
movzx eax, dx
mov edi, dword [esp + 0xd4]
mov edx, dword [esi + 0x74]
inc edi
cwde
add edi, eax
cmp dword [esi + 0x78], edx
jg 0x532872
mov eax, dword [esp + 0x40]
add eax, ebx
push eax
push dword [esp + 0x3c]
push edi
push dword [esp + 0x84]
push esi
call fcn.004ffef0
add esp, 0x14
mov edx, eax
jmp 0x5328ae
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x78]
mov byte [ecx], al
xor eax, eax
mov word [ecx + 2], ax
mov eax, dword [esp + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x40]
add eax, ebx
mov dword [ecx + 0xc], eax
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x5328c4
push ebp
push 0xfffffffffffffffe
push eax
call fcn.004eccc0
add esp, 0xc
jmp 0x5328f6
test edx, edx
jns 0x5328cc
mov edx, dword [esi + 0x74]
dec edx
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x5328eb
push 0xfffffffffffffffe
push ebp
push eax
push esi
call fcn.00564cf0
add esp, 0x10
jmp 0x5328f6
test ebp, ebp
je 0x5328f6
mov dword [eax + 0x10], ebp
mov byte [eax + 1], 0xfe
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x53290d
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x28]
inc ebx
mov dword [esp + 0x24], ebx
movzx eax, word [ecx + 0x32]
cmp ebx, eax
jl 0x532730
mov ecx, dword [esp + 0x60]
lea eax, [ecx - 1]
cmp eax, 5
ja case.0x532932.5
jmp dword [eax*4 + 0x5333b8]
push dword [esp + 0x14]
mov ebx, dword [esp + 0xc0]
push ecx
push ebx
call fcn.005478b0
add esp, 0xc
jmp 0x532e19
push dword [esp + 0x68]
mov eax, dword [esp + 0xf0]
push dword [esp + 0x18]
mov ebx, dword [esp + 0xc4]
push dword [esp + 0xc8]
push eax
push ebx
call fcn.0054a700
add esp, 0x14
jmp 0x532983
mov ebx, dword [esp + 0xbc]
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x5329a6
push 0
push dword [esp + 0xe4]
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532e19
mov edx, dword [esp + 0xe0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x532e19
mov ebp, dword [esi + 0x74]
mov edi, dword [esp + 0x3c]
sub ebp, edi
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x40], ebp
test edx, edx
je 0x532a11
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x532a06
mov eax, ebx
inc dword [esp + 0x88]
mov byte [eax + 0x14], 1
cmp dword [esp + 0x80], 0
je 0x532a7b
cmp byte [esp + 0x12], 0
je 0x532a7b
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x532a45
push 0
push 0
push dword [esp + 0xd0]
push 0xa6
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532a7b
mov edx, dword [esp + 0xc8]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x68]
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x18], eax
sete al
movzx eax, al
push eax
push 5
push 0
push dword [esp + 0x80]
push dword [esp + 0x64]
push dword [esp + 0xe4]
push dword [esp + 0xe4]
push dword [esp + 0xa0]
push dword [esp + 0xe4]
push ebx
call fcn.005335d0
add esp, 0x2c
cmp dword [esp + 0x80], 0
je 0x532b2c
cmp byte [esp + 0x12], 0
je 0x532b2c
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x532af6
push 0
push 0
push dword [esp + 0xd0]
push 0xa7
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532b2c
mov edx, dword [esp + 0xc8]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xa7
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x532e11
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x532b52
push 0
push 1
push edx
push 0x55
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532b85
mov edi, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x55
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x74]
mov dword [esp + 0x78], edx
cmp dword [esi + 0x78], edx
jg 0x532ba8
push 0
push 0
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
mov dword [esp + 0x78], eax
jmp 0x532bdb
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x532bf9
push edx
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x532c02
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x24], 0
je 0x532c6a
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0x74]
dec edx
cmp dword [esi + 0x78], ecx
jg 0x532c37
push 0
push dword [esp + 0x38]
push edx
push 0x32
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532c6a
mov ebp, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test ebp, ebp
jle 0x532dd6
mov ecx, edi
test edi, edi
jns 0x532c7c
mov ecx, dword [esi + 0x74]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x532c8b
mov eax, 0x5e05ac
jmp 0x532c94
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov ebp, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x38], edx
cmp cl, 0x8d
je 0x532db5
movzx eax, cl
mov dword [esp + 0x24], eax
test byte [eax + 0x59d858], 1
je 0x532cce
mov ebp, dword [esp + 0x34]
mov edx, dword [esi + 0x74]
shr ecx, 8
movsx ebx, cl
mov dword [esp + 0x60], ebx
cmp dword [esi + 0x78], edx
jg 0x532cfa
push dword [esp + 0x38]
push ebp
push dword [esp + 0x84]
push eax
push esi
call fcn.004ffef0
add esp, 0x14
mov edx, eax
jmp 0x532d39
mov ebx, dword [esp + 0x24]
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov byte [eax + ecx*4], bl
xor ebx, ebx
mov word [eax + ecx*4 + 2], bx
mov ebx, dword [esp + 0x7c]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x532d53
cmp ebx, 0xfffffff4
je 0x532d9b
push edi
push ebx
push eax
call fcn.004eccc0
add esp, 0xc
jmp 0x532d9b
test edx, edx
jns 0x532d5b
mov edx, dword [esi + 0x74]
dec edx
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*4]
test ebx, ebx
jns 0x532d8f
cmp byte [eax + 1], 0
jne 0x532d8f
cmp ebx, 0xfffffffd
jne 0x532d7b
mov dword [eax + 0x10], edi
mov byte [eax + 1], bl
jmp 0x532d9b
test edi, edi
je 0x532d9b
mov dword [eax + 0x10], edi
mov byte [eax + 1], bl
cmp ebx, 0xfffffff4
jne 0x532d9b
inc dword [edi + 0xc]
jmp 0x532d9b
push ebx
push edi
push eax
push esi
call fcn.00564cf0
add esp, 0x10
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x532db5
mov ecx, dword [esi + 0x70]
lea edx, [eax + eax*4]
mov ax, word [esp + 0x96]
mov word [ecx + edx*4 - 0x12], ax
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
dec ebp
inc edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edi
test ebp, ebp
jg 0x532c72
mov ebx, dword [esp + 0xbc]
push dword [esp + 0x14]
push 2
push ebx
call fcn.005478b0
mov ecx, dword [esp + 0x84]
add esp, 0xc
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x532df6
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x532e05
mov eax, 0x5e05ac
jmp 0x532e0e
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov dword [esp + 0x7c], 1
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x532e37
push edx
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x532e40
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x50]
cmp ecx, dword [esp + 0x48]
je 0x532e78
mov eax, dword [esp + 0x70]
cmp eax, 1
jne 0x532e6d
test ecx, ecx
je 0x532e78
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x532e78
movzx eax, al
mov dword [ebx + eax*4 + 0x98], ecx
inc byte [ebx + 0x13]
jmp 0x532e78
cmp eax, dword [ebx + 0x1c]
jle 0x532e78
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x532f25
mov ebx, dword [esp + 0x84]
test ebx, ebx
je 0x532f25
mov eax, dword [eax + 0x10]
test eax, eax
je 0x532ea9
cmp dword [eax], 0
je 0x532ea9
cmp dword [eax + 0x1c], 0
jne 0x532f25
mov edx, dword [esp + 0x64]
mov ecx, dword [esi + 0x74]
inc edx
cmp dword [esi + 0x78], ecx
jg 0x532ec8
push 0
push edx
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532ef7
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x74]
test ebx, ebx
jns 0x532f01
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x532f10
mov eax, 0x5e05ac
jmp 0x532f19
mov eax, dword [esi + 0x70]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 8], edx
mov dword [esp + 0x84], ecx
mov ebp, dword [esp + 0x1c]
cmp dword [esp + 0x54], 0
je 0x532f58
mov eax, dword [esp + 0x74]
inc eax
mov ebp, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c], ebp
cmp ebp, dword [esp + 0x2c]
jge 0x532f85
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + ebp*8]
lea eax, [eax + ebp*8]
mov ebp, dword [eax + 4]
mov dword [esp + 0x14], ebx
jmp 0x532f6a
mov eax, dword [esp + 0x2c]
inc ebp
mov eax, dword [eax + 0x14]
mov ebx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ebp
test ebx, ebx
je 0x532f85
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0xec]
jmp 0x531f40
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x533005
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x532faa
push 0
push edx
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x532fd9
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x90]
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x532fea
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x532ff9
mov eax, 0x5e05ac
jmp 0x533002
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp dword [esp + 0x88], 0
je 0x5332f8
mov ecx, dword [esi + 0x74]
mov edx, dword [esp + 0x4c]
cmp dword [esi + 0x78], ecx
jg 0x533033
push 0
push dword [esp + 0x38]
push edx
push 0x14
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x533062
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x14
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x28], 0
mov edi, dword [esp + 0x6c]
jne 0x533288
cmp byte [esp + 0x12], 0
je 0x5330e8
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x53309c
push dword [esp + 0xd4]
push edi
push dword [esp + 0xd8]
push 0x35
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x5330d1
mov edx, dword [esp + 0xd0]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x5330e8
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x53310c
push dword [esp + 0xd0]
push edi
push dword [esp + 0xd0]
push 0x21
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x533141
mov edx, dword [esp + 0xc8]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0xc0]
movzx eax, word [edx + 0x20]
test ax, ax
js 0x53317b
movsx ecx, ax
mov eax, dword [edx + 4]
add ecx, ecx
push dword [eax + ecx*8]
mov eax, dword [esp + 0xc0]
push dword [edx]
push str._s._s
push dword [eax]
call fcn.00538790
add esp, 0x10
mov ebp, 0x613
jmp 0x533198
push dword [edx]
mov eax, dword [esp + 0xc0]
push str._s.rowid
push dword [eax]
call fcn.00538790
add esp, 0xc
mov ebp, 0xa13
mov ecx, dword [esp + 0xbc]
mov ebx, eax
mov edi, dword [ecx + 8]
test edi, edi
jne 0x5331cb
cmp dword [ecx + 0x74], edi
jne 0x5331b9
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x5331b9
mov byte [ecx + 0x17], 1
push ecx
call fcn.0054be70
mov ecx, dword [esp + 0xc0]
add esp, 4
mov edi, eax
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x5331d4
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x5331f4
push 0
push 2
push ebp
push 0x46
push edi
call fcn.004ffef0
add esp, 0x14
mov edx, eax
jmp 0x533227
mov esi, dword [esp + 0x5c]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x53323d
push ebx
push 0xfffffffffffffff9
push eax
call fcn.004eccc0
add esp, 0xc
jmp 0x53326f
test edx, edx
jns 0x533245
mov edx, dword [edi + 0x74]
dec edx
mov eax, dword [edi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
jne 0x533262
test ebx, ebx
je 0x53326f
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
jmp 0x53326f
push 0xfffffffffffffff9
push ebx
push eax
push edi
call fcn.00564cf0
add esp, 0x10
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x5332d1
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x5332d1
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x5332a2
push 0
push edi
push 0
push 0xb
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x5332d1
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5332ef
push edx
push esi
push ecx
call fcn.00511f90
add esp, 0xc
jmp 0x5332f8
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
mov ebp, dword [esp + 0xc0]
test byte [ebp + 0x1c], 0x80
jne 0x533371
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0xd0]
movsx edi, word [ebp + 0x24]
inc ebx
mov edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x533337
push edx
push edi
push ebx
push 0x60
push esi
call fcn.004ffef0
add esp, 0x14
jmp 0x53335e
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x13], 0
jne 0x533371
push 0
push ebp
push esi
call fcn.00546c70
add esp, 0xc
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret