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

Disassembly:
sub esp, 0x10c
xor eax, eax
mov dword [esp + 0x9c], 0
push ebx
mov ebx, dword [esp + 0x114]
xorps xmm0, xmm0
push ebp
push esi
mov dword [esp + 0xe8], eax
cmp dword [ebx + 0x24], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x34], eax
mov eax, dword [ebx]
push edi
mov dword [esp + 0xc0], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x80], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0xbc], 1
movlpd qword [esp + 0x8c], xmm0
mov dword [esp + 0x6c], eax
jne 0x57db8c
mov ecx, dword [esp + 0x124]
push ecx
push ebx
call fcn.00578570
mov edi, eax
add esp, 8
mov dword [esp + 0x20], edi
test edi, edi
je 0x57db8c
mov ecx, dword [edi + 0x3c]
mov dword [esp + 0x50], 0xffff8000
test ecx, ecx
je 0x57b58d
mov eax, dword [ebx]
xor edx, edx
mov dword [esp + 0x50], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x57b58d
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x57b581
mov dword [esp + 0x50], edx
cmp dword [edi + 0x38], 0
jne 0x57b5a5
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x57b5ae
cmp dword [eax + 0x30], 0
je 0x57b5ae
cmp byte [ebx + 0xa1], 0
je 0x57b5c8
mov esi, dword [esp + 0x128]
xor ebp, ebp
mov dword [esp + 0xe8], 0
mov dword [esp + 0x58], ebp
jmp 0x57b5fb
mov esi, dword [esp + 0x128]
lea eax, [esp + 0xf4]
push eax
push esi
push 0x81
push edi
push ebx
call fcn.0059a8d0
mov ebp, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x108]
add esp, 0x14
mov dword [esp + 0xe8], eax
mov edx, dword [esp + 0x124]
mov cl, byte [edi + 0x2b]
mov byte [esp + 0x1a], cl
cmp dword [edx], 1
jle 0x57b612
mov eax, dword [esi]
jmp 0x57b614
xor eax, eax
mov dword [esp + 0x24], eax
cmp cl, 2
je 0x57b657
test eax, eax
jne 0x57b657
push str.UPDATE
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x138]
push edx
push ebx
call fcn.00564f50
add esp, 0x18
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
jmp 0x57b674
mov eax, dword [esp + 0x138]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x12c]
cmp byte [edi + 0x2b], 1
mov dword [esp + 0x44], eax
je 0x57b685
cmp word [edi + 0x22], 0
jg 0x57b697
push edi
push ebx
call fcn.005a16c0
add esp, 8
test eax, eax
jne 0x57db41
push ebp
push edi
push ebx
call fcn.005644a0
add esp, 0xc
test eax, eax
jne 0x57db41
mov esi, dword [ebx + 0x28]
mov edx, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0xa4], edx
lea eax, [esi + 1]
mov dword [ebx + 0x28], eax
test byte [edi + 0x1c], 0x80
mov dword [esp + 0x9c], eax
jne 0x57b6d7
mov dword [esp + 0x28], 0
jmp 0x57b6eb
push edi
call fcn.005707b0
mov dword [esp + 0x2c], eax
add esp, 4
mov eax, dword [esp + 0x9c]
mov ecx, dword [edi + 8]
xor ebp, ebp
mov dword [esp + 0xc4], ebp
test ecx, ecx
je 0x57b729
mov edx, eax
nop dword [eax]
cmp dword [esp + 0x28], ecx
mov eax, edx
cmovne eax, esi
inc edx
mov dword [ebx + 0x28], edx
inc ebp
mov ecx, dword [ecx + 0x14]
mov esi, eax
test ecx, ecx
jne 0x57b700
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x57b748
mov esi, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x10], esi
mov dword [esp + 0x9c], eax
mov dword [ebx + 0x28], edx
mov ecx, dword [esp + 0x124]
push 0
mov dword [ecx + 0x34], esi
movsx eax, word [edi + 0x22]
add eax, ebp
lea eax, [eax*4 + 6]
add eax, ebp
push eax
push dword [esp + 0x74]
call fcn.0054aba0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x57db41
movsx eax, word [edi + 0x22]
lea eax, [ecx + eax*4]
lea esi, [eax + 4]
mov dword [esp + 0x88], eax
lea eax, [ebp + 1]
push eax
lea esi, [esi + ebp*4]
push 1
push esi
mov dword [esp + 0xa0], esi
call fcn.0042d620
xor eax, eax
mov byte [esi + ebp + 1], 0
add esp, 0xc
xor ecx, ecx
cmp ax, word [edi + 0x22]
jge 0x57b7d7
mov ebx, dword [esp + 0x40]
nop dword [eax + eax]
mov dword [ebx + ecx*4], 0xffffffff
inc ecx
movsx eax, word [edi + 0x22]
cmp ecx, eax
jl 0x57b7c0
mov ebx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
xorps xmm0, xmm0
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 8]
movlpd qword [esp + 0x104], xmm0
mov dword [esp + 0x10c], 0
movlpd qword [esp + 0x114], xmm0
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x110], 0x200
mov dword [esp + 0x14], eax
test eax, eax
je 0x57b836
mov dword [esp + 0x54], eax
jmp 0x57b864
cmp dword [ebx + 0x80], 0
jne 0x57b84b
mov eax, dword [ebx]
test byte [eax + 0x50], 8
jne 0x57b84b
mov byte [ebx + 0x17], 1
push ebx
call fcn.0057f600
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x54], eax
test eax, eax
je 0x57db31
mov ecx, dword [esp + 0x128]
xor ebp, ebp
xor al, al
mov byte [esp + 0x37], 0
mov byte [esp + 0x1b], al
mov dword [esp + 0x30], ebp
cmp dword [ecx], ebp
jle 0x57bae2
lea esi, [ecx + 8]
mov dword [esp + 0x3c], esi
nop dword [eax + eax]
mov ecx, dword [esi + 4]
xor dl, dl
mov byte [esp + 0x36], dl
test ecx, ecx
jne 0x57b8a3
mov byte [esp + 0x36], dl
jmp 0x57b8c6
mov al, byte [ecx]
test al, al
je 0x57b8c6
nop dword [eax]
movzx eax, al
lea ecx, [ecx + 1]
add dl, byte [eax + 0x612ca8]
mov al, byte [ecx]
test al, al
jne 0x57b8b0
mov byte [esp + 0x36], dl
cmp dword [esp + 0x24], 0
jne 0x57b8e7
push dword [esi]
lea eax, [esp + 0xfc]
push eax
call fcn.005726a0
add esp, 8
test eax, eax
jne 0x57db31
movsx eax, word [edi + 0x22]
xor ebx, ebx
mov dword [esp + 0xa0], eax
test eax, eax
jle 0x57b99a
mov eax, dword [edi + 4]
mov ebp, eax
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x68], eax
mov al, byte [esp + 0x36]
cmp byte [ebp + 0xa], al
jne 0x57b98a
mov edx, dword [ebp]
mov edi, dword [esi + 4]
mov dword [esp + 0xb0], edx
sub edi, edx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x57b966
test eax, eax
jne 0x57b978
mov edx, dword [esp + 0x20]
movsx eax, word [edx + 0x20]
cmp ebx, eax
jne 0x57ba16
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
mov byte [esp + 0x1b], 1
mov dword [esp + 0x70], ebp
mov eax, dword [edi]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x40]
mov dword [eax + ebx*4], ebp
jmp 0x57b9a2
movzx ecx, byte [eax + 0x612ca8]
movzx eax, byte [esi + 0x612ca8]
sub ecx, eax
jne 0x57b97b
inc edx
jmp 0x57b924
mov al, byte [esp + 0x36]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x3c]
inc ebx
add ebp, 0x10
cmp ebx, ecx
jl 0x57b910
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
movsx eax, word [edx + 0x22]
cmp ebx, eax
jl 0x57ba65
cmp dword [esp + 0x28], 0
jne 0x57bb5c
mov esi, dword [edi + 4]
push str._ROWID_
push esi
call fcn.005794f0
add esp, 8
test eax, eax
je 0x57b9f6
push str.ROWID
push esi
call fcn.005794f0
add esp, 8
test eax, eax
je 0x57b9f6
push 0x61c580
push esi
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x57bb5c
mov eax, dword [edi]
or ebx, 0xffffffff
mov edi, dword [esp + 0x20]
mov edx, str.ROWID
mov byte [esp + 0x1b], 1
mov dword [esp + 0xb8], eax
mov dword [esp + 0x70], ebp
jmp 0x57ba82
mov ecx, dword [esp + 0x68]
mov eax, ebx
shl eax, 4
cmp dword [esp + 0x28], 0
je 0x57ba46
test byte [eax + ecx + 0xe], 1
je 0x57ba46
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x3c]
mov byte [esp + 0x37], 1
mov dword [eax + ebx*4], ebp
jmp 0x57b9a2
test byte [eax + ecx + 0xe], 0x60
jne 0x57bb3c
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x3c]
mov dword [eax + ebx*4], ebp
jmp 0x57b9a2
test ebx, ebx
jns 0x57ba74
mov edi, dword [esp + 0x20]
mov edx, str.ROWID
jmp 0x57ba82
mov edi, dword [esp + 0x20]
mov ecx, ebx
add ecx, ecx
mov eax, dword [edi + 4]
mov edx, dword [eax + ecx*8]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x50]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
push edx
push dword [edi]
push 0x17
push dword [esp + 0x130]
call fcn.00540670
add esp, 0x14
cmp eax, 1
je 0x57db31
cmp eax, 2
jne 0x57babf
mov eax, dword [esp + 0x40]
mov dword [eax + ebx*4], 0xffffffff
mov ecx, dword [esp + 0x128]
inc ebp
mov esi, dword [esp + 0x3c]
add esi, 0x14
mov dword [esp + 0x30], ebp
mov dword [esp + 0x3c], esi
cmp ebp, dword [ecx]
jl 0x57b890
mov al, byte [esp + 0x1b]
mov ebp, dword [esp + 0x20]
mov dl, byte [esp + 0x37]
add dl, al
mov byte [esp + 0x68], dl
test byte [ebp + 0x1c], 0x60
je 0x57bc40
nop word [eax + eax]
xor eax, eax
xor ebx, ebx
xor esi, esi
cmp ax, word [ebp + 0x22]
jge 0x57bc3c
mov edx, dword [esp + 0x40]
xor edi, edi
cmp dword [edx + esi*4], 0
jge 0x57bc24
mov eax, dword [ebp + 4]
test byte [eax + edi + 0xe], 0x60
je 0x57bc24
movzx eax, word [eax + edi + 0xc]
test ax, ax
jne 0x57bb8e
xor eax, eax
jmp 0x57bbb2
push dword [esp + 0xb0]
push str.cannot_UPDATE_generated_column___s_
push dword [esp + 0x128]
call fcn.0054d2c0
add esp, 0xc
jmp 0x57db31
mov ecx, dword [esp + 0x128]
lea eax, [ebp*4]
mov ebx, dword [esp + 0x120]
add eax, ebp
push dword [ecx + eax*4 + 0xc]
push str.no_such_column:__s
push ebx
call fcn.0054d2c0
add esp, 0xc
mov byte [ebx + 0x11], 1
jmp 0x57db31
cmp byte [ebp + 0x2b], 0
je 0x57bb98
xor eax, eax
jmp 0x57bbb2
mov ecx, dword [ebp + 0x34]
test ecx, ecx
jne 0x57bba3
xor eax, eax
jmp 0x57bbb2
cmp dword [ecx], eax
jge 0x57bbab
xor eax, eax
jmp 0x57bbb2
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
mov dword [esp + 0xe4], 0
xorps xmm0, xmm0
movq qword [esp + 0xdc], xmm0
mov dword [esp + 0xe4], edx
movups xmmword [esp + 0xcc], xmm0
mov dword [esp + 0xd0], 0x4ef290
test eax, eax
je 0x57bbfc
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.0058fb20
mov edx, dword [esp + 0x48]
add esp, 8
cmp byte [esp + 0x1b], 0
mov ax, word [esp + 0xe0]
jne 0x57bc13
mov ecx, 0xfffd
and ax, cx
test ax, ax
je 0x57bc24
mov dword [edx + esi*4], 0x1869f
mov ebx, 1
movsx eax, word [ebp + 0x22]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x57bb16
test ebx, ebx
jne 0x57bb00
mov dl, byte [esp + 0x68]
cmp byte [ebp + 0x2b], 1
jne 0x57bc4e
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x57bc68
xorps xmm0, xmm0
movlpd qword [esp + 0xb0], xmm0
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0x124]
mov dword [ebx + 0x40], eax
movzx eax, dl
push eax
push dword [esp + 0x44]
mov dword [ebx + 0x44], ecx
push ebp
push dword [esp + 0x12c]
mov dword [esp + 0xb0], eax
call fcn.005560f0
add esp, 0x10
mov ecx, eax
cmp dword [esp + 0x130], 5
mov edx, 1
mov eax, dword [esp + 0x74]
cmove eax, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x74], eax
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [esp + 0x48], edi
test esi, esi
je 0x57be8e
mov ebx, dword [esp + 0x94]
inc ebx
mov dword [esp + 0x30], ebx
nop
cmp byte [esp + 0x68], 0
jne 0x57be49
cmp ecx, 1
jg 0x57be49
cmp esi, dword [esp + 0x28]
je 0x57be49
mov eax, dword [esi + 0x24]
test eax, eax
je 0x57bd62
mov ecx, dword [esp + 0x40]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0xd0]
mov dword [esp + 0xe8], 0
movups xmmword [esp + 0xd0], xmm0
push eax
movq qword [esp + 0xe4], xmm0
mov dword [esp + 0xd8], 0x4ef290
mov dword [esp + 0xec], ecx
call fcn.0058fb20
mov cx, word [esp + 0xe8]
add esp, 8
cmp byte [esp + 0x1b], 0
jne 0x57bd52
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x57be49
xor eax, eax
xor ebp, ebp
xor edi, edi
cmp ax, word [esi + 0x32]
jae 0x57be64
xor ebx, ebx
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x40]
movzx eax, word [eax + edi*2]
test ax, ax
js 0x57bd8f
cwde
mov eax, dword [ecx + eax*4]
not eax
shr eax, 0x1f
jmp 0x57bdf0
mov eax, dword [esi + 0x28]
xorps xmm0, xmm0
movups xmmword [esp + 0xcc], xmm0
mov dword [esp + 0xd0], 0x4ef290
movq qword [esp + 0xdc], xmm0
mov eax, dword [eax + ebx + 8]
mov dword [esp + 0xe4], ecx
test eax, eax
je 0x57bdd1
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.0058fb20
add esp, 8
cmp byte [esp + 0x1b], 0
mov cx, word [esp + 0xe0]
jne 0x57bde8
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x57be0a
movzx eax, word [esi + 0x32]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x57bd74
mov ebx, dword [esp + 0x30]
jmp 0x57be64
mov ecx, dword [esp + 0x120]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov dword [ecx + 0x2c], ebp
movzx eax, word [esi + 0x34]
add eax, ebp
cmp dword [esp + 0x130], 0xb
mov dword [ecx + 0x2c], eax
jne 0x57be3f
cmp byte [esi + 0x36], 5
mov ecx, 1
mov eax, dword [esp + 0x74]
cmove eax, ecx
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
jmp 0x57be60
mov ecx, dword [esp + 0x120]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov dword [ecx + 0x2c], ebp
movzx eax, word [esi + 0x34]
add eax, ebp
mov dword [ecx + 0x2c], eax
test ebp, ebp
jne 0x57be6b
mov edi, dword [esp + 0x48]
mov byte [ebx], 0
mov eax, dword [esp + 0x88]
inc ebx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], ebx
mov dword [eax + edi*4], ebp
inc edi
mov esi, dword [esi + 0x14]
mov dword [esp + 0x48], edi
test esi, esi
jne 0x57bcd0
mov esi, dword [esp + 0x120]
mov ecx, dword [esp + 0x88]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + edi*4], eax
cmp dword [esp + 0x74], 0
je 0x57bec6
mov eax, dword [esp + 0xc4]
inc eax
push eax
push 1
push dword [esp + 0x9c]
call fcn.0042d620
add esp, 0xc
cmp byte [esi + 0x12], 0
mov ebp, dword [esp + 0x14]
jne 0x57bed7
or dword [ebp + 0x98], 0x10
cmp dword [esp + 0x58], 0
jne 0x57bee9
cmp dword [esp + 0x3c], 0
jne 0x57bee9
xor bl, bl
jmp 0x57beeb
mov bl, 1
mov eax, dword [esi + 0x80]
test eax, eax
mov ecx, dword [esp + 0x50]
cmovne esi, eax
mov eax, 1
shl eax, cl
mov edx, dword [esi + 0x5c]
test edx, eax
jne 0x57bf20
bts edx, ecx
mov dword [esi + 0x5c], edx
cmp ecx, 1
jne 0x57bf20
push esi
call fcn.005674c0
mov ecx, dword [esp + 0x54]
add esp, 4
or byte [esi + 0x14], bl
mov eax, dword [esi + 0x58]
mov ebx, dword [esp + 0x20]
bts eax, ecx
mov edx, dword [esp + 0x120]
mov dword [esi + 0x58], eax
cmp byte [ebx + 0x2b], 1
je 0x57bfc1
mov eax, dword [esp + 0x88]
mov esi, dword [edx + 0x2c]
inc esi
cmp byte [esp + 0x37], 0
mov dword [esp + 0x64], esi
mov eax, dword [eax + edi*4]
mov dword [esp + 0x84], eax
mov dword [edx + 0x2c], esi
mov dword [esp + 0x1c], esi
jne 0x57bf79
cmp dword [esp + 0x58], 0
jne 0x57bf79
mov eax, dword [esp + 0x3c]
mov ecx, esi
test eax, eax
je 0x57bf90
movsx ecx, word [ebx + 0x22]
lea eax, [esi + 1]
add ecx, esi
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x2c], ecx
cmp byte [esp + 0x68], 0
jne 0x57bfa2
cmp dword [esp + 0x58], 0
jne 0x57bfa2
test eax, eax
je 0x57bfae
lea eax, [ecx + 1]
mov dword [esp + 0x64], eax
mov ecx, eax
mov dword [edx + 0x2c], eax
lea eax, [ecx + 1]
mov dword [esp + 0x98], eax
movsx eax, word [ebx + 0x22]
add eax, ecx
mov dword [edx + 0x2c], eax
mov cl, byte [esp + 0x1a]
cmp cl, 2
jne 0x57bfec
mov ecx, dword [edx + 0x104]
mov eax, dword [ebx]
mov dword [esp + 0xb0], ecx
mov cl, byte [esp + 0x1a]
mov dword [esp + 0xf0], edx
mov dword [edx + 0x104], eax
jmp 0x57c008
mov eax, dword [esp + 0x90]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xb0], eax
cmp dword [esp + 0x24], 0
jne 0x57c156
cmp cl, 2
jne 0x57c046
push dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
push dword [esp + 0x7c]
push dword [esp + 0x84]
push ecx
push ebx
push edx
call fcn.005666d0
add esp, 0x18
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov edx, dword [esp + 0x44]
test edx, edx
je 0x57c15a
mov eax, dword [esp + 0x110]
mov esi, eax
mov ecx, dword [esp + 0xf8]
and eax, 0xf7ff6fef
mov dword [esp + 0x110], eax
and esi, 0x8009010
test eax, 0x80000
mov dword [esp + 0x30], 0
mov eax, 0x539420
mov dword [esp + 0xcc], ecx
cmovne eax, dword [esp + 0x30]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0xe4], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0xd0], fcn.00538020
mov dword [esp + 0xd8], 0
add dword [ecx + 0xe4], eax
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
cmp dword [ecx + 0xe4], eax
jle 0x57c0ee
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.0054d2c0
jmp 0x57db16
push edx
lea eax, [esp + 0xd0]
push eax
call fcn.0058fb20
mov edx, dword [esp + 0x4c]
add esp, 8
mov ecx, dword [esp + 0xcc]
mov eax, dword [edx + 0x18]
sub dword [ecx + 0xe4], eax
mov eax, dword [esp + 0x110]
and eax, 0x8010
or dword [edx + 4], eax
or dword [esp + 0x110], esi
cmp dword [esp + 0x10c], 0
jg 0x57db19
mov eax, dword [esp + 0xcc]
cmp dword [eax + 0x24], 0
jg 0x57db19
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x54], eax
jmp 0x57c15a
mov edx, dword [esp + 0x44]
cmp byte [ebx + 0x2b], 1
jne 0x57c196
push dword [esp + 0x130]
push edx
push dword [esp + 0x48]
push dword [esp + 0xc4]
push dword [esp + 0x138]
push ebx
push dword [esp + 0x13c]
push dword [esp + 0x13c]
call fcn.0059c580
add esp, 0x20
jmp 0x57db19
mov esi, dword [esp + 0x120]
mov eax, dword [esi + 0x38]
dec eax
mov dword [esi + 0x38], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
or eax, ecx
je 0x57c23b
cmp dword [esi + 0x84], 0
jne 0x57c23b
cmp byte [esi + 0x12], 0
jne 0x57c23b
cmp byte [esi + 0x9f], 0
jne 0x57c23b
cmp dword [esp + 0x13c], 0
jne 0x57c23b
inc dword [esi + 0x2c]
mov ecx, dword [ebp + 0x6c]
mov edx, dword [esi + 0x2c]
mov dword [esp + 0xec], edx
cmp dword [ebp + 0x70], ecx
jg 0x57c208
push 0
push edx
push 0
push 0x47
push ebp
call fcn.0051dc60
add esp, 0x14
jmp 0x57c23b
mov edi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
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
cmp dword [esp + 0x24], 0
jne 0x57c38d
test byte [ebx + 0x1c], 0x80
jne 0x57c38d
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x57c279
push dword [esp + 0x1c]
push dword [esp + 0x88]
push 0
push 0x4b
push ebp
call fcn.0051dc60
mov edx, dword [esp + 0x68]
add esp, 0x14
add edx, 0x68
jmp 0x57c2b1
mov ebx, dword [esp + 0x84]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea edx, [ebp + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esi + 0x28]
mov ebx, dword [esp + 0x120]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], esi
lea eax, [esi + 1]
mov dword [ebx + 0x28], eax
mov ebp, dword [ebp + 0x6c]
mov dword [esp + 0x30], ebp
cmp dword [ecx + 0x70], ebp
jg 0x57c2f2
push dword [esp + 0x84]
push 0
push esi
push 0x76
push ecx
call fcn.0051dc60
mov ebp, eax
add esp, 0x14
mov dword [esp + 0x30], ebp
jmp 0x57c329
lea eax, [ebp + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [ebp*4]
mov eax, dword [edx]
add ecx, ebp
mov edx, dword [esp + 0x84]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x13c], 0
je 0x57c577
mov esi, ebx
mov ecx, dword [esp + 0x44]
push 0x10
push dword [esp + 0x90]
mov dword [esp + 0xc8], 0
push ecx
push esi
mov dword [esp + 0x5c], 1
call fcn.005517c0
mov ecx, dword [esp + 0xc0]
add esp, 0x10
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xbc], 0
mov dword [esp + 0x48], ebx
jmp 0x57c6c1
mov eax, dword [esp + 0x28]
test eax, eax
je 0x57c39b
movzx edx, word [eax + 0x32]
jmp 0x57c39d
xor edx, edx
mov eax, dword [esi + 0x2c]
movsx ebx, dx
mov dword [esp + 0xa8], edx
lea ecx, [eax + 1]
add eax, ebx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x24]
add eax, ecx
inc eax
cmp dword [esp + 0x13c], 0
mov dword [esp + 0x38], eax
mov dword [esi + 0x2c], eax
jne 0x57c662
cmp byte [esp + 0x1a], 2
jne 0x57c3e0
mov edx, dword [esp + 0x20]
movsx eax, word [edx + 0x22]
jmp 0x57c3e2
xor eax, eax
lea esi, [eax + ebx]
add esi, ecx
cmp dword [esp + 0x28], 0
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x2c], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
je 0x57c457
mov edi, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x6c]
lea edx, [edi - 1]
add edx, ebx
cmp dword [ebp + 0x70], ecx
jg 0x57c424
push edx
push edi
push 0
push 0x4b
push ebp
call fcn.0051dc60
add esp, 0x14
jmp 0x57c453
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov ebp, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
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 + 0x2c]
mov ecx, dword [esp + 0x14]
mov ebp, dword [ebp + 0x6c]
mov dword [esp + 0x30], ebp
cmp dword [ecx + 0x70], ebp
jg 0x57c485
push 0
push esi
push edx
push 0x76
push ecx
call fcn.0051dc60
mov edi, dword [esp + 0x68]
add esp, 0x14
mov ebp, eax
mov dword [esp + 0x30], eax
add edi, 0x68
jmp 0x57c4bc
lea eax, [ebp + 1]
mov dword [ecx + 0x6c], eax
lea edi, [ecx + 0x68]
mov eax, dword [edi]
lea ecx, [ebp*4]
add ecx, ebp
mov ebp, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x57c51b
push eax
push dword [esp + 0x124]
call fcn.00564a60
mov edx, eax
add esp, 8
test edx, edx
je 0x57c517
mov ecx, dword [esp + 0x14]
mov word [edx + 8], si
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
je 0x57c506
cmp dword [eax + 0x210], 0
jne 0x57c517
add dword [edx], 0xffffffff
jne 0x57c517
push edx
push dword [edx + 0xc]
call fcn.0054ad00
add esp, 8
jmp 0x57c517
mov eax, dword [ecx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x24], 0
je 0x57c56c
push dword [esp + 0x78]
mov ecx, dword [esp + 0x48]
push dword [esp + 0x80]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x128]
push ecx
mov ecx, dword [esp + 0x130]
push ecx
mov ecx, dword [esp + 0x138]
push ecx
push eax
push ebp
push esi
call fcn.0059b5e0
add esp, 0x20
cmp byte [esp + 0x1a], 2
jne 0x57c680
mov dword [esp + 0x10], ebp
jmp 0x57c680
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x120]
cmp byte [ebx + 0x12], 0
mov eax, 4
mov ecx, dword [esp + 0x44]
jne 0x57c5b4
cmp dword [esp + 0x58], 0
jne 0x57c5b4
cmp dword [esp + 0x3c], 0
jne 0x57c5b4
cmp byte [esp + 0x68], 0
jne 0x57c5b4
cmp dword [esp + 0x74], 0
jne 0x57c5b4
test ecx, ecx
je 0x57c5af
test dword [ecx + 4], 0x400000
jne 0x57c5b4
mov eax, 0xc
push dword [esp + 0x9c]
push eax
push 0
push 0
push 0
push ecx
push dword [esp + 0x13c]
push ebx
call fcn.00590040
add esp, 0x20
mov dword [esp + 0xc0], eax
test eax, eax
je 0x57db19
movzx esi, byte [eax + 0x2e]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x30]
and eax, 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0xbc], eax
cmp esi, 1
je 0x57c6b9
mov eax, dword [ebx + 0x80]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
mov ecx, dword [esp + 0x10]
cmp esi, 2
jne 0x57c6bd
test edx, edx
js 0x57c6bd
cmp edx, ecx
je 0x57c6bd
mov ecx, dword [esp + 0x94]
mov eax, edx
sub eax, dword [esp + 0xa4]
mov ebx, edx
cmp byte [eax + ecx], 0
mov ecx, dword [esp + 0x10]
je 0x57c6c1
mov dword [esp + 0x4c], 0
jmp 0x57c6c1
mov edx, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x10], edx
test ecx, ecx
je 0x57c339
mov eax, dword [esi + 0x80]
mov ecx, esi
mov ebp, dword [esp + 0xb0]
test eax, eax
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0xb4]
cmovne ecx, eax
mov eax, dword [esp + 0x5c]
xor edi, edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x38], eax
mov byte [ecx + 0x14], 1
jmp 0x57c984
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
test byte [eax + 0x1c], 0x80
jne 0x57c7fc
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x57c700
push 0
push dword [esp + 0x20]
push dword [esp + 0x18]
push 0x87
push edx
call fcn.0051dc60
mov esi, dword [esp + 0x68]
add esp, 0x14
mov edx, dword [esp + 0x14]
add esi, 0x68
jmp 0x57c739
mov ebx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea esi, [edx + 0x68]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x4c], 0
jne 0x57c7b7
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x88]
inc dword [eax + 0x2c]
mov eax, dword [eax + 0x2c]
mov dword [ecx + edi*4], eax
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x57c781
push dword [esp + 0x1c]
push dword [esp + 0x88]
push dword [esp + 0x34]
push pe_nt_image_headers32
push edx
call fcn.0051dc60
add esp, 0x14
jmp 0x57c97c
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x84]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], pe_nt_image_headers32
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x57c978
test ebp, ebp
je 0x57c97c
mov edx, dword [edx]
cmp byte [edx + 0x57], 0
jne 0x57c97c
mov eax, dword [esi]
lea ecx, [ebp*4]
add ecx, ebp
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.004ffce0
add esp, 0xc
mov word [esi], 0xbb
mov dword [esi + 0x10], 0
jmp 0x57c97c
mov eax, dword [esp + 0xa8]
xor esi, esi
movsx edi, ax
test edi, edi
jle 0x57c843
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
add eax, esi
push eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push ecx
push ebp
push ebx
call fcn.0054e9d0
mov ecx, dword [esp + 0x24]
inc esi
add esp, 0x14
cmp esi, edi
jl 0x57c814
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x57c89b
test ebp, ebp
je 0x57c887
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
cmp byte [edx + 0x57], 0
jne 0x57c887
mov eax, dword [eax + 0x68]
lea ecx, [ebp*4]
add ecx, ebp
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.004ffce0
add esp, 0xc
mov word [esi], 0xbb
mov dword [esi + 0x10], 0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x80], edi
mov dword [esp + 0x38], eax
jmp 0x57c97c
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x10]
test esi, esi
jne 0x57c8b5
push eax
push dword [esp + 0x70]
call fcn.004f3110
add esp, 8
mov esi, eax
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], edx
jg 0x57c8e0
push dword [esp + 0x38]
push edi
push dword [esp + 0x64]
push 0x61
push ebp
call fcn.0051dc60
mov ebx, dword [esp + 0x68]
add esp, 0x14
mov edx, eax
add ebx, 0x68
jmp 0x57c915
lea ebx, [ebp + 0x68]
lea eax, [edx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx]
mov ebp, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], ebp
mov ebp, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0x10], 0
push edi
push esi
push edx
push ebp
call fcn.0057f310
mov ecx, dword [ebp + 0x6c]
add esp, 0x10
cmp dword [ebp + 0x70], ecx
jg 0x57c94a
push edi
push dword [esp + 0x60]
push dword [esp + 0x40]
push dword [esp + 0x38]
push 0x8a
push ebp
call fcn.004e7220
mov ebx, dword [esp + 0x60]
add esp, 0x18
jmp 0x57c97c
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0xfd8a
mov dword [eax + ecx*4 + 0x10], edi
mov dword [eax + ecx*4 + 0xc], edx
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
cmp dword [esp + 0x13c], 0
jne 0x57cfb6
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x57c9ae
cmp edi, 2
je 0x57c9ae
push dword [esp + 0xc0]
call fcn.00593560
add esp, 4
cmp byte [esp + 0x1a], 2
je 0x57cb06
xor esi, esi
test edi, edi
je 0x57ca56
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x94]
test ebp, ebp
js 0x57c9dd
mov eax, ebp
sub eax, edx
mov byte [eax + ecx], 0
test ebx, ebx
js 0x57c9e9
mov eax, ebx
sub eax, edx
mov byte [eax + ecx], 0
cmp edi, 2
jne 0x57ca56
mov ecx, dword [esp + 0xc4]
xor eax, eax
test ebx, ebx
setns al
sub ecx, eax
test ecx, ecx
jle 0x57ca56
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 0x6c]
cmp dword [edx + 0x70], esi
jg 0x57ca23
push 0
push 0
push 0
push 0xf
push edx
call fcn.0051dc60
add esp, 0x14
mov esi, eax
jmp 0x57ca56
lea eax, [esi + 1]
mov dword [edx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edx + 0x68]
mov dword [eax + ecx*4], 0xf
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, [esp + 0xc4]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x9c]
push dword [esp + 0xb0]
push 0
push 0x71
push dword [esp + 0x38]
push dword [esp + 0x13c]
call fcn.005672b0
add esp, 0x20
test esi, esi
je 0x57cac0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x6c]
lea eax, [edx - 1]
cmp esi, eax
jne 0x57caa1
mov edx, ecx
mov dword [edx + 0x6c], eax
jmp 0x57cac4
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
je 0x57cab0
mov eax, 0x64e020
jmp 0x57cabd
mov eax, dword [esp + 0x14]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
test edi, edi
je 0x57cbb5
mov esi, dword [esp + 0x10]
cmp ebp, esi
je 0x57cb38
cmp ebx, esi
je 0x57cb38
mov ecx, dword [edx + 0x6c]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x8c]
cmp dword [edx + 0x70], ecx
jg 0x57cb0c
push dword [esp + 0x80]
push ebp
push ebx
push esi
push 0x1c
push edx
call fcn.004e7220
add esp, 0x18
jmp 0x57cb43
mov edx, dword [esp + 0x14]
jmp 0x57cac8
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x80]
mov dword [eax + ecx*4], 0xfd1c
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x57cb43
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x8c]
cmp edi, 1
je 0x57cb59
mov eax, dword [esp + 0x120]
dec dword [eax + 0x38]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x60], edx
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x28], 0
mov edx, dword [esp + 0x1c]
cmovne edx, ebp
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x57cb85
push 0
push ebx
push edx
push 0x32
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x57cfba
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x57cfba
cmp dword [esp + 0x28], 0
jne 0x57ccfc
test esi, esi
jne 0x57ccfc
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x57cbf5
push esi
push dword [esp + 0x90]
push ebp
push 0x24
push edi
call fcn.0051dc60
mov esi, dword [esp + 0x68]
add esp, 0x14
add esi, 0x68
jmp 0x57cc29
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea esi, [edi + 0x68]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
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 ebx, dword [esp + 0x120]
dec dword [ebx + 0x38]
mov ecx, dword [edi + 0x6c]
mov edx, dword [ebx + 0x38]
mov dword [esp + 0x60], edx
mov dword [esp + 0xac], ecx
cmp dword [edi + 0x70], ecx
jg 0x57cc6b
push 0
push dword [esp + 0x20]
push ebp
push 0x87
push edi
call fcn.0051dc60
mov edx, dword [esp + 0x74]
add esp, 0x14
mov dword [esp + 0xac], eax
jmp 0x57cca0
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x120]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 4], ebp
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 0x57ccc5
push dword [esp + 0x1c]
push edx
push dword [esp + 0x18]
push 0x1f
push edi
call fcn.0051dc60
mov eax, dword [esp + 0x38]
add esp, 0x14
jmp 0x57cfc9
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov esi, dword [esp + 0x10]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
jmp 0x57cfc9
mov eax, dword [esp + 0x120]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
dec dword [eax + 0x38]
mov ecx, dword [edi + 0x6c]
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x60], ebx
cmp dword [edi + 0x70], ecx
jg 0x57cd3b
push 0
push dword [esp + 0x90]
push ebp
push 0x24
push edi
call fcn.0051dc60
mov ecx, dword [esp + 0x68]
add esp, 0x14
lea esi, [ecx + 0x68]
jmp 0x57cd73
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea esi, [edi + 0x68]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
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 ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x24]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0xac], edx
test eax, eax
je 0x57cf1b
cmp byte [esp + 0x1a], 2
je 0x57cfc2
cmp dword [esp + 0x28], 0
je 0x57ce7c
mov eax, dword [esp + 0xa8]
xor esi, esi
movsx ebx, ax
test ebx, ebx
jg 0x57cde8
lea edi, [ecx + 0x68]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x57ce45
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x14]
push ebx
push dword [esp + 0x60]
push edx
push dword [esp + 0x1c]
push 0x1c
push edi
call fcn.004e7220
add esp, 0x18
jmp 0x57cfbe
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x5c]
mov ecx, dword [edi + 0x6c]
add edx, esi
cmp dword [edi + 0x70], ecx
jg 0x57ce0d
push edx
push esi
push ebp
push 0x5e
push edi
call fcn.0051dc60
mov edi, dword [esp + 0x68]
add esp, 0x14
add edi, 0x68
jmp 0x57ce3b
mov ebp, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
add edi, 0x68
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
inc esi
cmp esi, ebx
jl 0x57cde4
jmp 0x57cdb2
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0xfd1c
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], ebx
jmp 0x57cfbe
cmp dword [edi + 0x70], edx
jg 0x57ce9c
push 0
push dword [esp + 0x20]
push ebp
push 0x87
push edi
call fcn.0051dc60
mov edx, dword [esp + 0x30]
add esp, 0x14
jmp 0x57ceca
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x87
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 ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x57cee8
push edx
push ebx
push dword [esp + 0x18]
push 0x1f
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x57cfbe
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x57cfbe
cmp dword [edi + 0x70], edx
jg 0x57cf3b
push 0
push dword [esp + 0x3c]
push ebp
push 0x86
push edi
call fcn.0051dc60
mov edx, dword [esp + 0x4c]
add esp, 0x14
jmp 0x57cf69
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x38]
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], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x57cf86
push 0
push edx
push ebx
push dword [esp + 0x1c]
push 0x1c
push edi
call fcn.004e7220
add esp, 0x18
jmp 0x57cfbe
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4], 0xfd1c
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x57cfbe
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x120]
cmp byte [esp + 0x1b], 0
je 0x57d099
test eax, eax
jne 0x57cff6
mov ebp, dword [esp + 0x64]
push ebp
push dword [esp + 0xbc]
push ebx
call fcn.0054e450
mov eax, dword [esp + 0x60]
add esp, 0xc
lea esi, [eax + 0x6c]
jmp 0x57d04d
mov ecx, dword [edi + 0x6c]
lea esi, [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x57d01d
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x74]
push edx
push ebp
push 0x5e
push edi
call fcn.0051dc60
mov ebp, dword [esp + 0x78]
add esp, 0x14
jmp 0x57d04b
mov edx, dword [esp + 0x70]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov eax, edi
mov ecx, dword [esi]
mov edx, 0x70
cmp dword [eax + edx], ecx
jg 0x57d06b
push 0
push 0
push ebp
push 0xd
push edi
call fcn.0051dc60
add esp, 0x14
jmp 0x57d099
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xd
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
cmp byte [esp + 0x37], 0
jne 0x57d0cd
cmp dword [esp + 0x3c], 0
jne 0x57d0d4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x57d293
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov ecx, dword [esp + 0x20]
xor edi, edi
cmp byte [ecx + 0x2b], 2
jne 0x57d0e9
or edi, 0xffffffff
jmp 0x57d150
cmp dword [esp + 0x3c], 0
je 0x57d0b3
push dword [esp + 0x20]
push ebx
call fcn.00555fd0
add esp, 8
mov dword [esp + 0x70], eax
mov ebx, eax
jmp 0x57d0b9
mov eax, dword [esp + 0x58]
mov esi, eax
test eax, eax
je 0x57d150
mov ebx, ecx
cmp byte [esi + 8], 0x81
jne 0x57d141
test byte [esi + 9], 3
je 0x57d141
push dword [esp + 0x128]
push dword [esi + 0x10]
call fcn.004ef1c0
add esp, 8
test eax, eax
je 0x57d141
cmp byte [esi + 0xa], 0
je 0x57d122
or edi, 0xffffffff
jmp 0x57d141
push dword [esp + 0x130]
push ebx
push esi
push dword [esp + 0x12c]
call fcn.0051d700
add esp, 0x10
test eax, eax
je 0x57d141
or edi, dword [eax + 0x10]
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x57d0f5
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x20]
or ebx, edi
xor eax, eax
xor esi, esi
mov dword [esp + 0x70], ebx
cmp ax, word [ecx + 0x22]
jge 0x57d226
xor ebp, ebp
mov eax, dword [ecx + 4]
push esi
push ecx
movzx ebx, word [eax + ebp + 0xe]
call fcn.00579c60
mov edi, dword [esp + 0x78]
add esp, 8
movsx edx, ax
add edx, dword [esp + 0xc8]
cmp edi, 0xffffffff
je 0x57d1f3
cmp esi, 0x20
jge 0x57d19d
mov eax, 1
mov ecx, esi
shl eax, cl
test edi, eax
jne 0x57d1f3
test bl, 1
jne 0x57d1f3
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x6c]
lea edi, [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x57d1c3
push 0
push edx
push 0
push 0x4b
push ebx
call fcn.0051dc60
add esp, 0x14
jmp 0x57d210
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x4b
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 0x57d210
push edx
push esi
push dword [esp + 0x18]
push dword [esp + 0x2c]
push dword [esp + 0x24]
call fcn.0054e9d0
mov edi, dword [esp + 0x68]
add esp, 0x14
add edi, 0x6c
mov ecx, dword [esp + 0x20]
inc esi
add ebp, 0x10
movsx eax, word [ecx + 0x22]
cmp esi, eax
jl 0x57d166
jmp 0x57d22d
mov edi, dword [esp + 0x54]
add edi, 0x6c
cmp byte [esp + 0x1b], 0
jne 0x57d28f
cmp dword [esp + 0x28], 0
jne 0x57d28f
mov edx, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [edx + 0x70], ecx
jg 0x57d25d
push 0
push dword [esp + 0x68]
push dword [esp + 0x24]
push 0x50
push edx
call fcn.0051dc60
add esp, 0x14
jmp 0x57d28f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x50
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x20]
xor ebx, ebx
cmp byte [ebp + 0x2b], 2
jne 0x57d2a4
or ebx, 0xffffffff
jmp 0x57d303
mov esi, eax
test eax, eax
je 0x57d303
nop word [eax + eax]
cmp byte [esi + 8], 0x81
jne 0x57d2fc
test byte [esi + 9], 1
je 0x57d2fc
push dword [esp + 0x128]
push dword [esi + 0x10]
call fcn.004ef1c0
add esp, 8
test eax, eax
je 0x57d2fc
cmp byte [esi + 0xa], 0
je 0x57d2dd
or ebx, 0xffffffff
jmp 0x57d2fc
push dword [esp + 0x130]
push ebp
push esi
push dword [esp + 0x12c]
call fcn.0051d700
add esp, 0x10
test eax, eax
je 0x57d2fc
or ebx, dword [eax + 0x14]
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x57d2b0
movzx eax, word [ebp + 0x22]
xor edx, edx
mov ecx, dword [esp + 0x98]
xor edi, edi
mov esi, ecx
cmp dx, ax
jge 0x57d4c5
mov ecx, eax
xor ebp, ebp
mov edx, dword [esp + 0x20]
movsx eax, word [edx + 0x20]
cmp edi, eax
jne 0x57d34f
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x57d453
push 0
push esi
push 0
push 0x4b
push edx
call fcn.0051dc60
jmp 0x57d49f
mov eax, dword [edx + 4]
movzx eax, word [eax + ebp + 0xe]
test al, 0x60
je 0x57d369
test al, 0x20
je 0x57d4a2
dec esi
jmp 0x57d4a2
mov eax, dword [esp + 0x40]
mov eax, dword [eax + edi*4]
test eax, eax
js 0x57d419
cmp dword [esp + 0x24], 0
je 0x57d3f6
cmp byte [esp + 0x1a], 2
je 0x57d38d
mov ecx, dword [esp + 0xa8]
movzx ecx, cx
movsx edx, cx
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc8], edx
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x57d3bb
push esi
push edx
push dword [esp + 0x34]
push 0x5e
push eax
call fcn.0051dc60
jmp 0x57d49f
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x57d4a2
mov ecx, dword [esp + 0x128]
lea eax, [eax + eax*4]
push esi
push dword [ecx + eax*4 + 8]
push dword [esp + 0x128]
call fcn.0054e450
add esp, 0xc
jmp 0x57d4a2
test dword [esp + 0xe8], 1
je 0x57d484
cmp edi, 0x1f
jg 0x57d484
mov eax, 1
mov ecx, edi
shl eax, cl
test ebx, eax
jne 0x57d484
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x57d453
push 0
push esi
push 0
push 0x4b
push edx
call fcn.0051dc60
jmp 0x57d49f
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x57d4a2
push esi
push edi
push dword [esp + 0x18]
push edx
push dword [esp + 0x24]
call fcn.0054e9d0
mov dword [esp + 0xd0], 0
add esp, 0x14
mov eax, dword [esp + 0x20]
inc edi
add ebp, 0x10
inc esi
movzx eax, word [eax + 0x22]
mov ecx, eax
cwde
cmp edi, eax
jl 0x57d321
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x98]
test byte [ebp + 0x1c], 0x60
je 0x57d4dc
push ebp
push ecx
push dword [esp + 0x128]
call fcn.00548790
add esp, 0xc
test byte [esp + 0xe8], 1
je 0x57d66f
push dword [esp + 0x98]
mov esi, dword [esp + 0x18]
push ebp
push esi
call fcn.00579a20
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x13c]
push ebx
push edi
push dword [esp + 0x30]
push ebp
push 1
push dword [esp + 0x148]
push 0x81
push dword [esp + 0x80]
push dword [esp + 0x14c]
call fcn.005475a0
add esp, 0x30
cmp byte [esp + 0x1a], 2
je 0x57d948
cmp dword [esp + 0x28], 0
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
je 0x57d597
cmp eax, ecx
jg 0x57d56f
push dword [esp + 0x80]
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x1c]
push 0x1c
push esi
call fcn.004e7220
mov edx, dword [esp + 0x28]
add esp, 0x18
jmp 0x57d5e4
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x80]
mov dword [eax + ecx*4], 0xfd1c
mov dword [eax + ecx*4 + 0x10], esi
jmp 0x57d5d8
cmp eax, ecx
jg 0x57d5b5
push dword [esp + 0x1c]
push ebx
push dword [esp + 0x18]
push 0x1f
push esi
call fcn.0051dc60
mov edx, dword [esp + 0x24]
add esp, 0x14
jmp 0x57d5e4
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esp + 0x98]
xor ecx, ecx
xor esi, esi
mov edi, eax
cmp cx, word [ebp + 0x22]
jge 0x57d656
xor ebx, ebx
nop dword [eax]
mov eax, dword [ebp + 4]
movzx eax, word [ebx + eax + 0xe]
test al, 0x60
je 0x57d618
test al, 0x20
lea eax, [edi - 1]
cmove eax, edi
mov edi, eax
jmp 0x57d63a
mov eax, dword [esp + 0x40]
cmp dword [eax + esi*4], 0
jge 0x57d63a
movsx eax, word [ebp + 0x20]
cmp esi, eax
je 0x57d63a
push edi
push esi
push edx
push ebp
push dword [esp + 0x24]
call fcn.0054e9d0
add esp, 0x14
movsx eax, word [ebp + 0x22]
inc esi
mov edx, dword [esp + 0x10]
add ebx, 0x10
inc edi
cmp esi, eax
jl 0x57d600
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x98]
test byte [ebp + 0x1c], 0x60
je 0x57d67e
push ebp
push eax
push dword [esp + 0x128]
call fcn.00548790
add esp, 0xc
jmp 0x57d67e
cmp byte [esp + 0x1a], 2
mov ebx, dword [esp + 0x60]
je 0x57d93d
mov edi, dword [esp + 0x130]
lea eax, [esp + 0x74]
push 0
push dword [esp + 0x44]
push eax
push ebx
push edi
push dword [esp + 0x7c]
push dword [esp + 0x34]
push dword [esp + 0x80]
push dword [esp + 0xbc]
push dword [esp + 0x34]
push dword [esp + 0xb0]
push ebp
push dword [esp + 0x150]
call fcn.0055dfa0
add esp, 0x34
cmp dword [esp + 0x74], 0
jne 0x57d6d5
cmp byte [esp + 0x68], 0
je 0x57d789
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
je 0x57d73e
cmp eax, ecx
jg 0x57d70a
push dword [esp + 0x80]
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x1c]
push 0x1c
push esi
call fcn.004e7220
add esp, 0x18
jmp 0x57d78d
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [eax + ecx*4], 0xfd1c
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x57d78d
cmp eax, ecx
jg 0x57d758
push dword [esp + 0x1c]
push ebx
push dword [esp + 0x18]
push 0x1f
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x57d78d
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x57d791
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x57d7ba
push dword [esp + 0xa0]
push dword [esp + 0x44]
push 0
push edx
push dword [esp + 0x30]
push dword [esp + 0x134]
call fcn.00555250
add esp, 0x18
push 0xffffffffffffffff
push dword [esp + 0x8c]
push dword [esp + 0xa4]
push dword [esp + 0x1c]
push dword [esp + 0x30]
push dword [esp + 0x134]
call fcn.005607f0
add esp, 0x18
cmp dword [esp + 0xbc], 0
je 0x57d809
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x57d83a
push 0
push 0
push dword [esp + 0x18]
push 0x8f
push esi
call fcn.0051dc60
add esp, 0x14
mov edx, dword [esp + 0x10]
cmp ebp, 1
jg 0x57d81d
cmp byte [esp + 0x68], 0
je 0x57d8a2
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x57d86f
push 0
push 0
push edx
push 0x82
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x57d8a2
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8f
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
jmp 0x57d80d
mov ebx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x82
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
test ebp, ebp
je 0x57d8ca
push dword [esp + 0xa0]
push dword [esp + 0x44]
push dword [esp + 0x6c]
push 0
push dword [esp + 0x30]
push dword [esp + 0x134]
call fcn.00555250
add esp, 0x18
mov ebp, dword [esp + 0x4c]
xor eax, eax
push 0
cmp ebp, 2
push 0
sete al
lea eax, [eax*2 + 4]
push eax
push dword [esp + 0x94]
push dword [esp + 0x74]
push dword [esp + 0xb0]
push dword [esp + 0x28]
push dword [esp + 0x3c]
push dword [esp + 0x140]
call fcn.00548540
add esp, 0x24
cmp dword [esp + 0x3c], 0
je 0x57d94c
push dword [esp + 0xa0]
push dword [esp + 0x44]
push dword [esp + 0x24]
push dword [esp + 0x134]
push dword [esp + 0x30]
push dword [esp + 0x134]
call fcn.005551c0
add esp, 0x18
jmp 0x57d94c
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x130]
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0xec]
test edx, edx
je 0x57d9a4
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x57d971
push 0
push 1
push edx
push 0x56
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x57d9a4
mov ebx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
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 eax, dword [esp + 0x58]
test eax, eax
je 0x57d9d7
push ebx
push edi
push dword [esp + 0x24]
mov edi, dword [esp + 0x12c]
push dword [esp + 0x2c]
push 2
push dword [esp + 0x13c]
push 0x81
push eax
push edi
call fcn.005475a0
add esp, 0x24
jmp 0x57d9de
mov edi, dword [esp + 0x120]
cmp ebp, 1
je 0x57daad
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
cmp ebp, 2
jne 0x57da32
add eax, dword [ecx + 0x38]
jns 0x57da18
push ebx
push esi
push ecx
call fcn.005379d0
add esp, 0xc
push dword [esp + 0xc0]
call fcn.00593560
add esp, 4
jmp 0x57daad
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
push dword [esp + 0xc0]
mov dword [ecx + ebx*4], eax
call fcn.00593560
add esp, 4
jmp 0x57daad
add eax, dword [ecx + 0x38]
jns 0x57da4b
push ebx
push esi
push ecx
call fcn.005379d0
mov edx, dword [esp + 0x60]
add esp, 0xc
add edx, 0x6c
jmp 0x57da56
mov ecx, dword [ecx + 0x40]
lea edx, [esi + 0x6c]
mov eax, dword [edx]
mov dword [ecx + ebx*4], eax
mov ecx, dword [edx]
cmp dword [esi + 0x70], ecx
jg 0x57da78
mov edx, dword [esp + 0xac]
push 0
push edx
push dword [esp + 0x34]
push 0x27
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x57daad
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xac]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x57dace
push edx
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x57dad7
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [edi + 0x12], 0
jne 0x57daff
cmp dword [edi + 0x84], 0
jne 0x57daff
cmp dword [esp + 0x13c], 0
jne 0x57daff
cmp dword [edi + 0x7c], 0
je 0x57daff
push edi
call fcn.004ea0d0
add esp, 4
mov eax, dword [esp + 0xec]
test eax, eax
je 0x57db19
push str.rows_updated
push eax
push esi
call fcn.00546ba0
add esp, 0xc
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x57db31
mov ecx, dword [esp + 0xb0]
mov dword [eax + 0x104], ecx
push dword [esp + 0x40]
push dword [esp + 0x70]
call fcn.0054aa60
add esp, 8
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x44]
push dword [esp + 0x124]
push dword [esp + 0x70]
call fcn.00577fa0
mov eax, dword [esp + 0x130]
add esp, 8
test eax, eax
je 0x57db78
push eax
push dword [esp + 0x70]
call fcn.004fac60
add esp, 8
test ebx, ebx
je 0x57dba3
push ebx
mov ebx, dword [esp + 0x70]
push ebx
call fcn.005514d0
add esp, 8
jmp 0x57dba7
mov ebp, dword [esp + 0x138]
mov esi, dword [esp + 0x134]
mov ebx, dword [esp + 0x12c]
jmp 0x57db4d
mov ebx, dword [esp + 0x6c]
test esi, esi
je 0x57dbb5
push esi
push ebx
call fcn.004fac60
add esp, 8
test ebp, ebp
je 0x57dbc3
push ebp
push ebx
call fcn.005514d0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret