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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
xor eax, eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ebx, dword [esi]
xor edi, edi
xorps xmm0, xmm0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xac], 1
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x3c], eax
movq qword [ebp - 0xb8], xmm0
mov dword [ebp - 0x28], ebx
cmp dword [esi + 0x24], eax
jne 0x475034
cmp byte [ebx + 0x53], al
jne 0x475034
mov edx, dword [ebp + 0xc]
push edx
push esi
call fcn.004713d0
mov ebx, eax
add esp, 8
mov dword [ebp - 0xc], ebx
test ebx, ebx
je 0x475031
push dword [ebx + 0x48]
push dword [esi]
call fcn.0046dd00
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0xbc]
push eax
push dword [ebp + 0x10]
push 0x80
push ebx
push esi
call fcn.00472720
mov dword [ebp - 0x50], eax
xor eax, eax
add esp, 0x1c
cmp dword [ebx + 0xc], eax
setne al
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax], 1
jle 0x472e20
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
jmp 0x472e23
mov dword [ebp - 0x14], edi
push ebx
push esi
call fcn.00481530
add esp, 8
test eax, eax
jne 0x475031
push dword [ebp - 0xbc]
push ebx
push esi
call fcn.00463bc0
add esp, 0xc
test eax, eax
jne 0x475031
mov eax, dword [esi + 0x28]
mov edi, eax
lea edx, [eax + 1]
mov dword [esi + 0x28], edx
test byte [ebx + 0x24], 0x80
mov dword [ebp - 8], eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x94], edx
jne 0x472e76
mov dword [ebp - 0x24], 0
jmp 0x472e82
push ebx
call fcn.0046b7c0
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x90], ecx
test eax, eax
je 0x472eb2
cmp dword [ebp - 0x24], eax
cmove edi, edx
inc edx
mov dword [esi + 0x28], edx
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x472e91
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp + 0x24]
test edx, edx
je 0x472ecd
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov dword [ebp - 8], eax
mov dword [ebp - 0x94], edx
mov dword [esi + 0x28], edi
jmp 0x472ed0
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
push 0
mov dword [edx + 0x34], eax
movsx eax, word [ebx + 0x2a]
add eax, ecx
lea eax, [eax*4 + 6]
add eax, ecx
push eax
push dword [ebp - 0x28]
call fcn.00454ea0
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x475031
movsx eax, word [ebx + 0x2a]
lea ecx, [edi + eax*4]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x74], ecx
lea ecx, [ecx + eax*4]
inc eax
push eax
add ecx, 4
push 1
push ecx
mov dword [ebp - 0x70], ecx
call sub.MSVCR110.dll_memset
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x70]
add esp, 0xc
mov byte [ecx + eax + 1], 0
xor eax, eax
xor ecx, ecx
cmp ax, word [ebx + 0x2a]
jge 0x472f50
mov edi, edi
mov dword [edi + ecx*4], 0xffffffff
movsx eax, word [ebx + 0x2a]
inc ecx
cmp ecx, eax
jl 0x472f40
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
movq qword [ebp - 0x114], xmm0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 0x24]
movq qword [ebp - 0x10c], xmm0
mov dword [ebp - 0x10c], eax
mov eax, dword [esi + 8]
movq qword [ebp - 0xfc], xmm0
movq qword [ebp - 0x104], xmm0
mov dword [ebp - 0x114], esi
mov dword [ebp - 0xfc], 0x200
mov dword [ebp - 4], eax
test eax, eax
jne 0x472fc4
cmp dword [esi + 0x74], eax
jne 0x472fb0
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x472fb0
mov byte [esi + 0x17], 1
push esi
call fcn.00476820
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
je 0x475031
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
xor al, al
mov byte [ebp - 0x29], 0
mov byte [ebp - 0xd], al
mov dword [ebp - 0x44], ebx
cmp dword [ecx], ebx
jle 0x4731c8
lea esi, [ecx + 8]
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x14], 0
jne 0x473002
push dword [esi]
lea eax, [ebp - 0x114]
push eax
call fcn.0046c6f0
add esp, 8
test eax, eax
jne 0x47502e
mov edx, dword [ebp - 0xc]
xor edi, edi
movsx eax, word [edx + 0x2a]
test eax, eax
jle 0x473089
mov eax, dword [edx + 4]
mov dword [ebp - 0xa0], eax
mov ebx, eax
mov edi, edi
mov edx, dword [ebx]
mov esi, dword [esi + 4]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x47305f
test ecx, ecx
jne 0x473071
mov edx, dword [ebp - 0xc]
movsx eax, word [edx + 0x28]
cmp edi, eax
jne 0x4730c6
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x44]
mov eax, dword [esi]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0xd], 1
mov dword [ebp - 0x48], ebx
mov dword [eax + edi*4], ebx
jmp 0x473089
movzx eax, byte [eax + 0x4c1a80]
movzx ecx, byte [ecx + 0x4c1a80]
sub ecx, eax
jne 0x473074
inc edx
jmp 0x473027
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x30]
movsx eax, word [edx + 0x2a]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x473020
mov ebx, dword [ebp - 0x44]
movsx eax, word [edx + 0x2a]
cmp edi, eax
jl 0x473163
cmp dword [ebp - 0x24], 0
jne 0x4732dc
mov edi, dword [esi + 4]
mov esi, str._ROWID_
mov edx, edi
sub esi, edi
jmp 0x4730b0
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x47310d
test ecx, ecx
je 0x47314a
inc edx
jmp 0x4730b0
cmp dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0xa0]
je 0x4730ee
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 1
je 0x4730ee
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x30]
mov byte [ebp - 0x29], 1
mov dword [eax + edi*4], ebx
jmp 0x473089
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 0x60
jne 0x4732be
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x30]
mov dword [eax + edi*4], ebx
jmp 0x473089
movzx eax, byte [eax + 0x4c1a80]
movzx ecx, byte [ecx + 0x4c1a80]
sub ecx, eax
jne 0x473122
inc edx
jmp 0x4730b0
push str.ROWID
push edi
call fcn.00471bf0
add esp, 8
test eax, eax
je 0x47314a
push 0x4c82c0
push edi
call fcn.00471bf0
add esp, 8
test eax, eax
jne 0x4732dc
mov esi, dword [ebp - 0x30]
or edi, 0xffffffff
mov eax, dword [esi]
mov byte [ebp - 0xd], 1
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
mov edx, str.ROWID
jmp 0x473177
test edi, edi
jns 0x47316e
mov edx, str.ROWID
jmp 0x473177
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x54]
mov eax, dword [eax + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
mov eax, dword [ebp - 0xc]
push edx
push dword [eax]
push 0x17
push dword [ebp + 8]
call fcn.0044c740
add esp, 0x14
cmp eax, 1
je 0x47502e
cmp eax, 2
jne 0x4731b0
mov eax, dword [ebp - 0x1c]
mov dword [eax + edi*4], 0xffffffff
mov ecx, dword [ebp + 0x10]
inc ebx
add esi, 0x14
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x30], esi
cmp ebx, dword [ecx]
jl 0x472fe3
mov al, byte [ebp - 0xd]
mov bl, byte [ebp - 0x29]
mov edx, dword [ebp - 0xc]
add bl, al
test byte [edx + 0x24], 0x60
mov byte [ebp - 0x44], bl
je 0x4732b0
lea ecx, [ecx]
xor eax, eax
xor ebx, ebx
xor esi, esi
cmp ax, word [edx + 0x2a]
jge 0x4732ad
xor edi, edi
mov eax, dword [ebp - 0x1c]
cmp dword [eax + esi*4], 0
jge 0x473295
mov eax, dword [edx + 4]
test byte [eax + edi + 0x10], 0x60
je 0x473295
mov ecx, dword [eax + edi + 4]
mov edx, dword [ebp - 0x1c]
xorps xmm0, xmm0
xor eax, eax
mov dword [ebp - 0xc0], 0
movq qword [ebp - 0xd8], xmm0
movq qword [ebp - 0xc8], xmm0
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0xc]
movq qword [ebp - 0xd0], xmm0
mov word [ebp - 0xc4], ax
mov dword [ebp - 0xd4], 0x4298c0
test ecx, ecx
je 0x473273
push ecx
lea eax, [ebp - 0xd8]
push eax
call fcn.004958e0
mov ax, word [ebp - 0xc4]
mov edx, dword [ebp - 0xc]
add esp, 8
cmp byte [ebp - 0xd], 0
jne 0x473281
mov ecx, 0xfffd
and ax, cx
test ax, ax
je 0x473295
mov eax, dword [ebp - 0x1c]
mov ebx, 1
mov dword [eax + esi*4], 0x1869f
movsx eax, word [edx + 0x2a]
inc esi
add edi, 0x14
cmp esi, eax
jl 0x4731f2
test ebx, ebx
jne 0x4731e0
mov bl, byte [ebp - 0x44]
cmp dword [edx + 0x38], 0
je 0x473306
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x47331d
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
push dword [eax + ecx*4]
push str.cannot_UPDATE_generated_column___s_
push dword [ebp + 8]
call fcn.00456d30
add esp, 0xc
jmp 0x47502e
mov esi, dword [ebp + 0x10]
lea eax, [ebx + ebx*4]
mov ebx, dword [ebp + 8]
push dword [esi + eax*4 + 0xc]
push str.no_such_column:__s
push ebx
call fcn.00456d30
mov edi, dword [ebp - 0x1c]
mov byte [ebx + 0x11], 1
mov ebx, dword [ebp - 0x28]
add esp, 0xc
jmp 0x475037
xorps xmm0, xmm0
movlpd qword [ebp - 0xa4], xmm0
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x40], eax
movzx eax, bl
push eax
push dword [ebp - 0x1c]
mov dword [esi + 0x44], ecx
push edx
push dword [ebp + 8]
mov dword [ebp - 0xa0], eax
call fcn.0045df20
mov edi, eax
mov eax, dword [ebp - 0x68]
add esp, 0x10
cmp dword [ebp + 0x18], 5
mov ecx, 1
cmove eax, ecx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov esi, dword [eax + 8]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x6c], ebx
test esi, esi
je 0x47352f
lea esp, [esp]
cmp byte [ebp - 0x44], 0
jne 0x4734f9
cmp edi, 1
jg 0x4734f9
cmp esi, dword [ebp - 0x24]
je 0x4734f9
mov eax, dword [esi + 0x24]
test eax, eax
je 0x473409
xorps xmm0, xmm0
xor ecx, ecx
push eax
movq qword [ebp - 0xc8], xmm0
mov word [ebp - 0xc4], cx
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0xd8]
movq qword [ebp - 0xd8], xmm0
mov dword [ebp - 0xc0], 0
push eax
movq qword [ebp - 0xd0], xmm0
mov dword [ebp - 0xd4], 0x4298c0
mov dword [ebp - 0xc0], ecx
call fcn.004958e0
mov cx, word [ebp - 0xc4]
add esp, 8
cmp byte [ebp - 0xd], 0
jne 0x4733f9
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x4734f9
xor ecx, ecx
xor eax, eax
xor edi, edi
mov dword [ebp - 0x5c], ecx
cmp ax, word [esi + 0x32]
jae 0x47350f
xor ebx, ebx
mov edi, edi
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x1c]
movzx eax, word [eax + edi*2]
test ax, ax
js 0x47343d
cwde
xor ecx, ecx
cmp dword [edx + eax*4], ecx
setge cl
jmp 0x4734b3
mov eax, dword [esi + 0x28]
xorps xmm0, xmm0
mov ecx, dword [eax + ebx + 8]
xor eax, eax
movq qword [ebp - 0xf4], xmm0
movq qword [ebp - 0xe4], xmm0
mov dword [ebp - 0xdc], 0
movq qword [ebp - 0xec], xmm0
mov word [ebp - 0xe0], ax
mov dword [ebp - 0xf0], 0x4298c0
mov dword [ebp - 0xdc], edx
test ecx, ecx
je 0x47349d
push ecx
lea eax, [ebp - 0xf4]
push eax
call fcn.004958e0
mov ax, word [ebp - 0xe0]
add esp, 8
cmp byte [ebp - 0xd], 0
jne 0x4734ab
mov ecx, 0xfffd
and ax, cx
xor ecx, ecx
test ax, ax
setne cl
test ecx, ecx
jne 0x4734cf
movzx eax, word [esi + 0x32]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x473420
mov ecx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x6c]
jmp 0x47350f
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x6c]
inc dword [edx + 0x2c]
movzx eax, word [esi + 0x34]
mov ecx, dword [edx + 0x2c]
add eax, ecx
cmp dword [ebp + 0x18], 0xb
mov dword [edx + 0x2c], eax
jne 0x47350b
cmp byte [esi + 0x36], 5
jne 0x47350b
mov dword [ebp - 0x68], 1
jmp 0x47350b
mov edx, dword [ebp + 8]
inc dword [edx + 0x2c]
movzx eax, word [esi + 0x34]
mov ecx, dword [edx + 0x2c]
add eax, ecx
mov dword [edx + 0x2c], eax
test ecx, ecx
jne 0x473517
mov eax, dword [ebp - 0x70]
mov byte [ebx + eax + 1], 0
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0x30]
mov dword [eax + ebx*4], ecx
mov esi, dword [esi + 0x14]
inc ebx
mov dword [ebp - 0x6c], ebx
test esi, esi
jne 0x473370
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x74]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + ebx*4], eax
cmp dword [ebp - 0x68], 0
je 0x473559
mov eax, dword [ebp - 0x90]
inc eax
push eax
push 1
push dword [ebp - 0x70]
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp byte [esi + 0x12], 0
jne 0x473569
mov eax, dword [ebp - 4]
or dword [eax + 0x98], 0x10
cmp dword [ebp - 0x50], 0
jne 0x473577
test edi, edi
jne 0x473577
xor ebx, ebx
jmp 0x47357c
mov ebx, 1
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp - 0x54]
test eax, eax
cmovne esi, eax
mov edi, 1
mov edx, dword [esi + 0x54]
shl edi, cl
test edx, edi
jne 0x4735aa
mov eax, edi
or eax, edx
mov dword [esi + 0x54], eax
cmp ecx, 1
jne 0x4735aa
push esi
call fcn.00465f40
add esp, 4
mov edx, dword [ebp - 0xc]
or dword [esi + 0x50], edi
or byte [esi + 0x14], bl
cmp dword [edx + 0x38], 0
mov esi, dword [ebp + 8]
jne 0x473626
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*4]
inc dword [esi + 0x2c]
cmp byte [ebp - 0x29], 0
mov ebx, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x18], ebx
jne 0x4735e8
test ecx, ecx
jne 0x4735e8
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4735fa
lea eax, [ebx + 1]
mov dword [ebp - 0x7c], eax
movsx eax, word [edx + 0x2a]
add eax, ebx
mov dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x30]
cmp byte [ebp - 0x44], 0
jne 0x473608
test ecx, ecx
jne 0x473608
test eax, eax
je 0x473611
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x34], eax
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
mov dword [ebp - 0x84], eax
movsx eax, word [edx + 0x2a]
add eax, ecx
mov dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x47364a
mov eax, dword [esi + 0xf0]
mov dword [ebp - 0xb8], eax
mov eax, dword [edx]
mov dword [esi + 0xf0], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xb4], esi
cmp dword [ebp - 0x14], 0
mov edi, dword [ebp + 0x14]
jne 0x47369b
test eax, eax
je 0x473672
push dword [ebp - 8]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push edx
push esi
call fcn.00465400
add esp, 0x18
xor ebx, ebx
mov dword [ebp - 0x54], ebx
jmp 0x47367e
mov esi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x1c]
mov dword [ebp - 0x54], esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x114]
push edi
push eax
call fcn.0046c6f0
add esp, 8
test eax, eax
jne 0x47502e
mov edx, dword [ebp - 0xc]
jmp 0x4736a4
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x1c]
mov dword [ebp - 0x54], eax
cmp dword [edx + 0x38], 0
je 0x4736ca
push dword [ebp + 0x18]
push edi
mov edi, dword [ebp - 0x1c]
push edi
push dword [ebp - 0x4c]
push dword [ebp + 0x10]
push edx
push dword [ebp + 0xc]
push esi
call fcn.0048e3f0
add esp, 0x20
jmp 0x475031
mov eax, dword [ebp - 0x28]
dec dword [esi + 0x38]
mov ecx, dword [eax + 0x24]
mov edi, dword [esi + 0x38]
and ecx, 1
xor eax, eax
or eax, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x58], edi
je 0x47377f
cmp dword [ecx + 0x78], 0
jne 0x47377f
cmp byte [ecx + 0x12], 0
jne 0x47377f
cmp byte [ecx + 0x91], 0
jne 0x47377f
cmp dword [ebp + 0x24], 0
mov esi, dword [ebp - 4]
jne 0x473782
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [esi + 0x6c]
mov dword [ebp - 0xa8], eax
cmp dword [esi + 0x70], ecx
jg 0x473742
push 0
push eax
push 0
push 0x45
push esi
call fcn.00438410
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add esp, 0x14
jmp 0x473782
mov edi, dword [ebp - 0xa8]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp + 8]
jmp 0x473782
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x14], 0
jne 0x47384d
test byte [edx + 0x24], 0x80
jne 0x47384d
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4737b3
push dword [ebp - 0x18]
push dword [ebp - 0x78]
push 0
push 0x48
push esi
call fcn.00438410
add esp, 0x14
jmp 0x4737e4
mov edx, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x20], ecx
lea eax, [ecx + 1]
mov dword [edx + 0x28], eax
mov ebx, dword [esi + 0x6c]
mov dword [ebp - 0x80], ebx
cmp dword [esi + 0x70], ebx
jg 0x473817
push dword [ebp - 0x78]
push 0
push ecx
push 0x70
push esi
call fcn.00438410
add esp, 0x14
mov dword [ebp - 0x80], eax
jmp 0x473a17
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov esi, dword [ebp - 0x78]
lea ecx, [ebx + ebx*4]
mov ebx, dword [ebp - 0x20]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x473a1a
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x47385a
movzx edx, word [eax + 0x32]
jmp 0x47385c
xor edx, edx
mov eax, dword [ecx + 0x2c]
movsx edi, dx
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x14]
lea esi, [eax + 1]
inc edx
add eax, edi
add eax, edx
cmp dword [ebp + 0x24], 0
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x3c], eax
mov dword [ecx + 0x2c], eax
jne 0x4739e2
cmp dword [ebp - 0x64], 0
je 0x473898
movsx eax, word [edx + 0x2a]
jmp 0x47389a
xor eax, eax
lea esi, [edi + eax]
mov eax, dword [ecx + 0x28]
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
inc eax
cmp dword [ebp - 0x24], 0
mov dword [ecx + 0x28], eax
je 0x47390a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x40]
mov ecx, dword [eax + 0x6c]
dec edx
add edx, edi
cmp dword [eax + 0x70], ecx
jg 0x4738d4
push edx
push dword [ebp - 0x40]
push 0
push 0x48
push eax
call fcn.00438410
add esp, 0x14
jmp 0x47390a
mov edi, dword [ebp - 4]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, edi
mov edi, dword [ebp - 0x40]
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x6c]
mov dword [ebp - 0x80], ecx
cmp dword [edx + 0x70], ecx
jg 0x47392e
push 0
push esi
push dword [ebp - 0x20]
push 0x70
push edx
call fcn.00438410
add esp, 0x14
mov dword [ebp - 0x80], eax
jmp 0x47395c
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov edx, dword [ebp - 0x20]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x70
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 [ebp - 0x24]
test eax, eax
je 0x4739a7
push eax
push dword [ebp + 8]
call fcn.00463ff0
mov edx, eax
add esp, 8
test edx, edx
je 0x4739a4
mov word [edx + 8], si
mov esi, dword [ebp - 4]
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
je 0x473992
push edx
push 0xfffffffffffffff7
push eax
call fcn.00435ec0
add esp, 0xc
jmp 0x4739a4
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x14], 0
je 0x473a97
push dword [ebp - 0x54]
mov edx, dword [ebp + 0xc]
push ebx
push dword [ebp + 0x14]
mov ebx, dword [ebp - 0x20]
push edx
push dword [ebp + 0x10]
push eax
push ebx
push dword [ebp + 8]
call fcn.0048de30
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x40]
add esp, 0x20
cmp dword [ebp - 0x64], 0
cmovne eax, ebx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x473a14
mov eax, dword [ecx + 0x74]
mov ebx, dword [ebp - 0xb8]
test eax, eax
cmovne ecx, eax
xor eax, eax
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0xb4]
mov byte [ecx + 0x14], 1
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], esi
jmp 0x473e1f
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp + 8]
cmp dword [ebp + 0x24], 0
je 0x473a97
push 0x10
push edi
push dword [ebp + 0x14]
mov dword [ebp - 0xb0], 0
push edx
mov dword [ebp - 0x38], 1
call fcn.0045a650
mov edi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xb8]
add esp, 0x10
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], ebx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
test byte [ecx + 0x24], 0x80
jne 0x473c41
mov esi, dword [ebp - 4]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x473b5d
push 0
push dword [ebp - 0x18]
push edx
push 0x83
push esi
call fcn.00438410
mov edx, dword [ebp - 0x18]
add esp, 0x14
jmp 0x473b8e
mov ecx, dword [ebp + 8]
mov eax, 4
cmp byte [ecx + 0x12], 0
jne 0x473ac3
cmp dword [ebp - 0x50], 0
jne 0x473ac3
cmp dword [ebp - 0x30], 0
jne 0x473ac3
cmp byte [ebp - 0x44], 0
jne 0x473ac3
cmp dword [ebp - 0x68], 0
mov edx, 0xc
cmove eax, edx
push dword [ebp - 0x94]
push eax
push 0
push 0
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push ecx
call fcn.004838a0
add esp, 0x1c
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x47502e
movzx esi, byte [eax + 0x2e]
mov ebx, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x30]
and eax, 1
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0xac], eax
cmp esi, 1
je 0x473a5c
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x74]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
cmp esi, 2
jne 0x473a5c
test edi, edi
js 0x473a5c
mov edx, dword [ebp - 8]
cmp edi, edx
je 0x473a5f
mov ecx, dword [ebp - 0x70]
mov eax, edi
sub eax, dword [ebp - 0x8c]
cmp byte [eax + ecx], 0
mov eax, 0
cmovne esi, eax
mov dword [ebp - 0x38], esi
jmp 0x473a5f
mov edi, dword [ebp - 0x5c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x473bfe
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x6c]
inc dword [eax + 0x2c]
mov ebx, dword [ebp - 0x74]
mov eax, dword [eax + 0x2c]
mov dword [ebx + ecx*4], eax
mov ecx, dword [esi + 0x6c]
mov ebx, dword [ebp - 0x54]
cmp dword [esi + 0x70], ecx
jg 0x473bc9
push edx
push dword [ebp - 0x78]
push dword [ebp - 0x20]
push 0x7c
push esi
call fcn.00438410
add esp, 0x14
jmp 0x473e19
mov edx, dword [ebp - 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x78]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], 0x7c
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x473e19
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x473e1c
mov edx, dword [esi]
cmp byte [edx + 0x53], 0
jne 0x473e1c
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.00435ec0
add esp, 0xc
mov word [esi], 0xb1
mov dword [esi + 0x10], 0
jmp 0x473e19
mov eax, dword [ebp - 0x9c]
movsx ebx, ax
xor esi, esi
test ebx, ebx
jle 0x473c7d
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
add eax, esi
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push edx
push ecx
push edi
call fcn.00457d80
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc esi
add esp, 0x14
cmp esi, ebx
jl 0x473c53
mov edi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x473cd4
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x473cc0
mov esi, dword [ebp - 4]
mov edx, dword [esi]
cmp byte [edx + 0x53], 0
jne 0x473cc0
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.00435ec0
mov eax, dword [ebp - 0x38]
add esp, 0xc
mov word [esi], 0xb1
mov dword [esi + 0x10], 0
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x98], ebx
mov ebx, dword [ebp - 0x54]
mov dword [ebp - 0x3c], ecx
jmp 0x473e1c
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.004621d0
mov ecx, dword [ebp - 4]
add esp, 8
mov edx, dword [ecx + 0x6c]
mov esi, eax
cmp dword [ecx + 0x70], edx
jg 0x473d05
push dword [ebp - 0x3c]
push ebx
push dword [ebp - 0x40]
push 0x5d
push ecx
call fcn.00438410
add esp, 0x14
mov edx, eax
jmp 0x473d38
mov edi, dword [ebp - 0x40]
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
mov eax, dword [ebp - 4]
lea ecx, [edx + edx*4]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [ebp - 0x3c]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
cmp byte [eax + 0x53], 0
je 0x473d7c
cmp ebx, 0xfffffff4
je 0x473d53
push esi
push ebx
push eax
call fcn.00435ec0
add esp, 0xc
mov esi, dword [ebp - 4]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x473dcc
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push dword [ebp - 0x20]
push 0x86
push esi
call fcn.00438410
add esp, 0x14
mov edx, eax
jmp 0x473dff
test edx, edx
jns 0x473d84
mov edx, dword [ecx + 0x6c]
dec edx
mov eax, dword [ebp - 4]
lea ecx, [edx + edx*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
test ebx, ebx
jns 0x473dbb
cmp byte [eax + 1], 0
jne 0x473dbb
cmp ebx, 0xfffffffd
jne 0x473da7
mov dword [eax + 0x10], esi
mov byte [eax + 1], bl
jmp 0x473d53
test esi, esi
je 0x473d53
mov dword [eax + 0x10], esi
mov byte [eax + 1], bl
cmp ebx, 0xfffffff4
jne 0x473d53
inc dword [esi + 0xc]
jmp 0x473d53
push ebx
push esi
mov esi, dword [ebp - 4]
push eax
push esi
call fcn.0048f580
add esp, 0x10
jmp 0x473d56
mov edi, dword [ebp - 0x20]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [ebp - 0x3c]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [ebp - 0x40]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
jne 0x473e16
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x24], 0
jne 0x474405
test edx, edx
jne 0x473e40
cmp eax, 2
je 0x473e40
push dword [ebp - 0xb0]
call fcn.00486570
add esp, 4
cmp dword [ebp - 0x64], 0
jne 0x473f3a
mov ecx, dword [ebp - 0x38]
xor esi, esi
test ecx, ecx
je 0x473e76
mov edx, dword [ebp - 0x70]
test ebx, ebx
js 0x473e66
mov eax, ebx
sub eax, dword [ebp - 0x8c]
mov byte [eax + edx], 0
test edi, edi
js 0x473e76
mov eax, edi
sub eax, dword [ebp - 0x8c]
mov byte [eax + edx], 0
cmp ecx, 2
jne 0x473ee1
mov ecx, dword [ebp - 0x90]
xor eax, eax
test edi, edi
setns al
sub ecx, eax
test ecx, ecx
jle 0x473ee1
mov edx, dword [ebp - 4]
mov esi, dword [edx + 0x6c]
cmp dword [edx + 0x70], esi
jg 0x473eae
push 0
push 0
push 0
push 0x11
push edx
call fcn.00438410
add esp, 0x14
mov esi, eax
jmp 0x473ee1
lea eax, [esi + 1]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4], 0x11
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 eax, dword [ebp - 0xc]
push 0
push 0
push dword [ebp - 0x70]
push dword [ebp - 0x8c]
push 0
push 0x63
push eax
push dword [ebp + 8]
call fcn.00465d30
add esp, 0x20
test esi, esi
je 0x473f3a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x6c]
lea eax, [edx - 1]
cmp esi, eax
jne 0x473f17
mov dword [ecx + 0x6c], eax
jmp 0x473f3a
test esi, esi
cmovs esi, eax
mov eax, dword [ecx]
cmp byte [eax + 0x53], 0
je 0x473f2b
mov eax, 0x4d9014
jmp 0x473f37
mov eax, dword [ebp - 4]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x474056
mov eax, dword [ebp - 8]
cmp ebx, eax
mov ebx, dword [ebp - 4]
je 0x473f6e
cmp edi, eax
mov edi, dword [ebp - 0x60]
je 0x473f71
push dword [ebp - 0x98]
push dword [ebp - 0x3c]
push edi
push eax
push 0x1d
push ebx
call fcn.00476070
add esp, 0x18
jmp 0x473f71
mov edi, dword [ebp - 0x60]
cmp esi, 1
je 0x473f82
mov eax, dword [ebp + 8]
dec dword [eax + 0x38]
mov esi, dword [eax + 0x38]
mov dword [ebp - 0x58], esi
cmp dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebx + 0x6c]
cmovne edx, dword [ebp - 0x3c]
cmp dword [ebx + 0x70], ecx
jg 0x474026
push 0
push edi
push edx
push 0x32
push ebx
call fcn.00438410
add esp, 0x14
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
cmp byte [ebp - 0xd], 0
je 0x4744e3
test eax, eax
jne 0x474448
mov edx, dword [ebp - 0x34]
cmp dword [edi + 8], eax
je 0x47449a
push edx
push dword [ebp - 0x4c]
push edi
call fcn.00458f30
mov edx, dword [ebp - 0x34]
mov esi, eax
add esp, 0xc
cmp esi, edx
je 0x47449a
mov eax, dword [ebp - 0x4c]
mov edx, dword [edi + 8]
mov ecx, dword [eax + 4]
and ecx, 0x200000
neg ecx
sbb cl, cl
add cl, 0x4e
movzx ebx, cl
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x474415
push 0
push dword [ebp - 0x34]
push esi
push ebx
push edx
call fcn.00438410
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
add esp, 0x14
jmp 0x47449a
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x473fa8
cmp dword [ebp - 0x24], 0
jne 0x474172
cmp dword [ebp - 0x14], 0
jne 0x474172
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 0x60]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x47408e
push 0
push edi
push dword [ebp - 0x20]
push 0x25
push ebx
call fcn.00438410
mov edx, dword [ebp - 0x20]
add esp, 0x14
jmp 0x4740bc
mov edx, dword [ebp - 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x25
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebp + 8]
dec dword [edi + 0x38]
mov ecx, dword [ebx + 0x6c]
mov esi, dword [edi + 0x38]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x88], ecx
cmp dword [ebx + 0x70], ecx
jg 0x4740f5
push 0
push dword [ebp - 0x18]
push edx
push 0x83
push ebx
call fcn.00438410
mov edx, dword [ebp - 0x18]
add esp, 0x14
mov dword [ebp - 0x88], eax
jmp 0x474123
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474140
push edx
push esi
push dword [ebp - 8]
push 0x20
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x473fab
mov edx, dword [ebp - 8]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x473fab
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 4]
dec dword [eax + 0x38]
mov ecx, dword [ebx + 0x6c]
mov esi, dword [eax + 0x38]
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x58], esi
cmp dword [ebx + 0x70], ecx
jg 0x4741a2
push 0
push edi
push dword [ebp - 0x20]
push 0x25
push ebx
call fcn.00438410
mov edx, dword [ebp - 0x20]
add esp, 0x14
jmp 0x4741d0
mov edx, dword [ebp - 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x25
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x6c]
mov dword [ebp - 0x88], ecx
test eax, eax
je 0x474351
cmp dword [ebp - 0x64], 0
jne 0x47440d
cmp dword [ebp - 0x24], 0
je 0x4742c7
mov eax, dword [ebp - 0x9c]
movsx edi, ax
xor esi, esi
test edi, edi
jle 0x474256
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474227
mov eax, dword [ebp - 0x40]
add eax, esi
push eax
push esi
push edx
push 0x5b
push ebx
call fcn.00438410
mov edx, dword [ebp - 0x20]
add esp, 0x14
jmp 0x474251
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x40]
add eax, esi
mov dword [ecx], 0x5b
mov dword [ecx + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0
inc esi
cmp esi, edi
jl 0x474207
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x474277
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x58]
push esi
push dword [ebp - 8]
push 0x1d
push ebx
call fcn.00438410
add esp, 0x14
mov edx, eax
jmp 0x4742a7
mov esi, dword [ebp - 8]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [ebp - 0x58]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [ebp - 0x40]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x473fa8
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
jmp 0x473fa8
mov edi, dword [ebp - 0x18]
cmp dword [ebx + 0x70], ecx
jg 0x4742e3
push 0
push edi
push edx
push 0x83
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x47430e
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474322
push edi
push esi
push dword [ebp - 8]
push 0x20
jmp 0x473f9f
mov edx, dword [ebp - 8]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x473fa8
mov edi, dword [ebp - 0x3c]
cmp dword [ebx + 0x70], ecx
jg 0x47436d
push 0
push edi
push edx
push 0x82
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x474398
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x82
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x4743b4
push edi
push esi
push dword [ebp - 8]
push 0x1d
push ebx
call fcn.00438410
add esp, 0x14
mov edx, eax
jmp 0x4743e1
mov edi, dword [ebp - 8]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [ebp - 0x3c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x473fa8
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x473fa8
mov ebx, dword [ebp - 4]
jmp 0x473fa8
mov edi, dword [ebp + 8]
jmp 0x473fae
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [ebp - 0x34]
mov byte [eax + ecx*4], bl
mov ebx, dword [ebp - 4]
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov byte [eax + ecx*4 + 1], 0
jmp 0x474492
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x47446a
push dword [ebp - 0x34]
mov edx, dword [ebp - 0x48]
push edx
push dword [ebp - 0x20]
push 0x5b
push ebx
call fcn.00438410
mov edx, dword [ebp - 0x34]
add esp, 0x14
jmp 0x47449a
mov edx, dword [ebp - 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x48]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4744b4
push 0
push 0
push edx
push 0xf
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x4744e3
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0xf
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
cmp byte [ebp - 0x29], 0
jne 0x47458c
cmp dword [ebp - 0x30], 0
jne 0x474596
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x4746b3
xor ebx, ebx
push dword [ebp + 0x18]
push dword [ebp - 0xc]
push 3
push 0
push dword [ebp + 0x10]
push dword [ebp - 0x50]
push edi
call fcn.00472180
mov ecx, dword [ebp - 0xc]
or ebx, eax
xor eax, eax
add esp, 0x1c
xor esi, esi
mov dword [ebp - 0x4c], ebx
cmp ax, word [ecx + 0x2a]
jge 0x474653
xor edi, edi
mov dword [ebp - 0x48], edi
jmp 0x474540
test byte [ecx + 0x24], 0x20
mov ebx, dword [ecx + 4]
je 0x4745b1
movzx eax, si
test ax, ax
js 0x4745b1
movsx ecx, ax
xor edi, edi
xor edx, edx
test ecx, ecx
jle 0x47456d
lea eax, [ebx + 0x10]
mov edi, ecx
test byte [eax], 0x20
jne 0x474567
inc edx
add eax, 0x14
dec ecx
jne 0x474561
lea eax, [edi + edi*4]
test byte [ebx + eax*4 + 0x10], 0x20
je 0x4745a9
mov eax, dword [ebp - 0xc]
mov ax, word [eax + 0x2c]
sub ax, dx
add ax, di
mov edi, dword [ebp - 0x48]
movzx eax, ax
jmp 0x4745b4
cmp dword [ebp - 0x30], 0
je 0x474502
push dword [ebp - 0xc]
push edi
call fcn.0045de40
add esp, 8
mov ebx, eax
jmp 0x474504
mov edi, dword [ebp - 0x48]
movzx eax, dx
jmp 0x4745b4
movzx eax, si
movsx edx, ax
add edx, dword [ebp - 0x7c]
cmp dword [ebp - 0x4c], 0xffffffff
je 0x474627
cmp esi, 0x20
jge 0x4745d3
mov eax, 1
mov ecx, esi
shl eax, cl
test dword [ebp - 0x4c], eax
jne 0x474627
movzx eax, word [ebx + edi + 0x10]
test al, 1
jne 0x474627
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4745f6
push 0
push edx
push 0
push 0x48
push ebx
call fcn.00438410
jmp 0x474637
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x48
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 0x47463a
push edx
push esi
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 4]
call fcn.00457d80
add esp, 0x14
mov ecx, dword [ebp - 0xc]
inc esi
movsx eax, word [ecx + 0x2a]
add edi, 0x14
mov dword [ebp - 0x48], edi
cmp esi, eax
jl 0x474540
mov edi, dword [ebp + 8]
cmp byte [ebp - 0xd], 0
jne 0x4746b0
cmp dword [ebp - 0x24], 0
jne 0x4746b0
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x47467f
push 0
push dword [ebp - 0x34]
push dword [ebp - 0x18]
push 0x4d
push edx
call fcn.00438410
add esp, 0x14
jmp 0x4746b0
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov edx, dword [ebp - 0x18]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], 0x4d
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp - 0x50]
push dword [ebp + 0x18]
push dword [ebp - 0xc]
push 1
push 1
push dword [ebp + 0x10]
push eax
push edi
call fcn.00472180
mov edx, dword [ebp - 0x84]
mov edi, eax
mov eax, dword [ebp - 0xc]
add esp, 0x1c
movsx ecx, word [eax + 0x2a]
xor ebx, ebx
mov dword [ebp - 0x48], edi
mov esi, edx
test ecx, ecx
jle 0x4747c9
xor edx, edx
mov dword [ebp - 0x4c], edx
lea ecx, [ecx]
movsx eax, word [eax + 0x28]
cmp ebx, eax
jne 0x47471c
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x474932
push 0
push esi
push 0
push 0x48
push edx
call fcn.00438410
add esp, 0x14
jmp 0x4747ab
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx + 0x10]
test al, 0x60
je 0x474732
test al, 0x20
je 0x4747ab
dec esi
jmp 0x4747ab
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + ebx*4]
test eax, eax
js 0x4748f4
cmp dword [ebp - 0x14], 0
je 0x474859
cmp dword [ebp - 0x64], 0
jne 0x474759
mov ecx, dword [ebp - 0x9c]
movsx ecx, cx
lea edx, [ecx + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x474779
push esi
push edx
push dword [ebp - 0x20]
push 0x5b
push eax
call fcn.00438410
add esp, 0x14
jmp 0x4747ab
mov edi, dword [ebp - 4]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, edi
mov edi, dword [ebp - 0x20]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0xc]
add dword [ebp - 0x4c], 0x14
movsx ecx, word [eax + 0x2a]
mov edx, dword [ebp - 0x4c]
inc ebx
inc esi
cmp ebx, ecx
jl 0x4746f0
mov edx, dword [ebp - 0x84]
test byte [eax + 0x24], 0x60
mov edi, dword [ebp + 8]
je 0x4747e0
push eax
push edx
push edi
call fcn.00453260
mov eax, dword [ebp - 0xc]
add esp, 0xc
test byte [ebp - 0xbc], 1
je 0x474aa0
push dword [ebp - 0x84]
mov ebx, dword [ebp - 4]
push eax
push ebx
call fcn.00471d40
mov esi, dword [ebp - 0x58]
push esi
push dword [ebp + 0x18]
push dword [ebp - 0x18]
push dword [ebp - 0xc]
push 1
push dword [ebp + 0x10]
push 0x80
push dword [ebp - 0x50]
push edi
call fcn.00452450
add esp, 0x30
cmp dword [ebp - 0x64], 0
jne 0x474d20
cmp dword [ebp - 0x24], 0
je 0x474a03
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x474988
push dword [ebp - 0x3c]
push esi
push dword [ebp - 8]
push 0x1d
push ebx
call fcn.00438410
add esp, 0x14
mov edx, eax
jmp 0x4749b5
mov ecx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x7c], eax
cmp dword [ecx + 8], 0
je 0x4747ab
push esi
push eax
push ecx
call fcn.00458f30
mov edi, eax
add esp, 0xc
cmp edi, esi
je 0x4747a8
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 8]
and ecx, 0x200000
neg ecx
sbb cl, cl
add cl, 0x4e
movzx eax, cl
mov ecx, dword [edx + 0x6c]
mov dword [ebp - 0x7c], eax
cmp dword [edx + 0x70], ecx
jg 0x4748c2
push 0
push esi
push edi
push eax
push edx
call fcn.00438410
add esp, 0x14
jmp 0x4747a8
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov edx, dword [ebp - 0x7c]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov byte [eax + ecx*4 + 1], dl
jmp 0x4747a8
test dword [ebp - 0xbc], 1
je 0x474966
cmp ebx, 0x1f
jg 0x474966
mov eax, 1
mov ecx, ebx
shl eax, cl
test edi, eax
jne 0x474966
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x474932
push 0
push esi
push 0
push 0x48
push edx
call fcn.00438410
add esp, 0x14
jmp 0x4747ab
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x48
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 0x4747ab
push esi
push ebx
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 4]
call fcn.00457d80
add esp, 0x14
mov dword [ebp - 0xac], 0
jmp 0x4747ab
mov edi, dword [ebp - 8]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [ebp - 0x3c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x4749d2
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x98]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x84]
xor ebx, ebx
xor esi, esi
mov edi, eax
cmp bx, word [ecx + 0x2a]
jge 0x474a8b
mov edi, edi
mov eax, dword [ecx + 4]
movzx eax, word [eax + ebx + 0x10]
test al, 0x60
je 0x474a4e
test al, 0x20
je 0x474a71
dec edi
jmp 0x474a71
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474a1f
push dword [ebp - 0x18]
push esi
push dword [ebp - 8]
push 0x20
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x4749d2
mov edx, dword [ebp - 8]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
mov ebx, dword [ebp - 0x18]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4749d5
mov eax, dword [ebp - 0x1c]
cmp dword [eax + esi*4], 0
jge 0x474a71
movsx eax, word [ecx + 0x28]
cmp esi, eax
je 0x474a71
push edi
push esi
push edx
push ecx
push dword [ebp - 4]
call fcn.00457d80
mov ecx, dword [ebp - 0xc]
add esp, 0x14
movsx eax, word [ecx + 0x2a]
mov edx, dword [ebp - 8]
inc esi
add ebx, 0x14
inc edi
cmp esi, eax
jl 0x4749f0
mov eax, dword [ebp - 0x84]
test byte [ecx + 0x24], 0x60
je 0x474aad
push ecx
push eax
push dword [ebp + 8]
call fcn.00453260
add esp, 0xc
jmp 0x474aaa
cmp dword [ebp - 0x64], 0
jne 0x474d1a
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x58]
push 0
push dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
lea eax, [ebp - 0x68]
push eax
push esi
push dword [ebp + 0x18]
push dword [ebp - 0x44]
push dword [ebp - 0x18]
push dword [ebp - 0x34]
push dword [ebp - 0x94]
push edi
push dword [ebp - 0x74]
push ecx
push dword [ebp + 8]
call fcn.0045e420
add esp, 0x34
cmp dword [ebp - 0x68], 0
jne 0x474aef
cmp byte [ebp - 0x44], 0
je 0x474ba6
cmp dword [ebp - 0x24], 0
mov ebx, dword [ebp - 4]
je 0x474b60
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x474b14
push dword [ebp - 0x3c]
push esi
push edi
push 0x1d
push ebx
call fcn.00438410
add esp, 0x14
mov edx, eax
jmp 0x474b41
mov esi, dword [ebp - 0x58]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [ebp - 0x3c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x474ba9
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x98]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x474ba9
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474b7a
push dword [ebp - 0x18]
push esi
push edi
push 0x20
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x474ba9
mov edx, dword [ebp - 0x18]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x474bac
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x30]
test edi, edi
je 0x474bcd
push dword [ebp - 0xa0]
push dword [ebp - 0x1c]
push 0
push edx
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.0045d0a0
add esp, 0x18
push 0xffffffffffffffff
push dword [ebp - 0x74]
push dword [ebp - 0x94]
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.00460c70
add esp, 0x18
cmp dword [ebp - 0xac], 0
je 0x474c0f
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474c3b
push 0
push 0
push dword [ebp - 8]
push 0x8b
push ebx
call fcn.00438410
add esp, 0x14
mov edx, dword [ebp - 8]
cmp edi, 1
jg 0x474c21
cmp byte [ebp - 0x44], 0
je 0x474ca1
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474c6f
push 0
push 0
push edx
push 0x7e
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x474ca1
mov edx, dword [ebp - 8]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x8b
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 0x474c12
mov esi, dword [ebp - 0x58]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x7e
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 edi, edi
je 0x474cc1
push dword [ebp - 0xa0]
push dword [ebp - 0x1c]
push dword [ebp - 0x34]
push 0
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.0045d0a0
add esp, 0x18
mov edi, dword [ebp - 0x38]
push 0
xor eax, eax
mov ecx, 2
push 0
cmp edi, ecx
cmove eax, ecx
or eax, 4
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x34]
push dword [ebp - 0x94]
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.00453080
add esp, 0x24
cmp dword [ebp - 0x30], 0
je 0x474d23
push dword [ebp - 0xa0]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.0045d010
add esp, 0x18
jmp 0x474d23
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0xa8]
test edx, edx
je 0x474d79
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474d47
push 0
push 1
push edx
push 0x53
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x474d79
mov esi, dword [ebp - 0x58]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x53
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
push esi
push dword [ebp + 0x18]
push dword [ebp - 0x18]
push dword [ebp - 0xc]
push 2
push dword [ebp + 0x10]
push 0x80
push dword [ebp - 0x50]
push dword [ebp + 8]
call fcn.00452450
add esp, 0x24
cmp edi, 1
je 0x474e5d
mov ecx, dword [ebx + 0xc]
not esi
mov eax, dword [ecx + 0x3c]
cmp edi, 2
jne 0x474ded
add eax, dword [ecx + 0x38]
jns 0x474dd4
push esi
push ebx
push ecx
call fcn.00445db0
add esp, 0xc
push dword [ebp - 0xb0]
call fcn.00486570
add esp, 4
jmp 0x474e5d
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
push dword [ebp - 0xb0]
mov dword [ecx + esi*4], eax
call fcn.00486570
add esp, 4
jmp 0x474e5d
add eax, dword [ecx + 0x38]
jns 0x474dff
push esi
push ebx
push ecx
call fcn.00445db0
add esp, 0xc
jmp 0x474e08
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + esi*4], eax
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474e29
mov edx, dword [ebp - 0x88]
push 0
push edx
push dword [ebp - 0x20]
push 5
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x474e5d
mov edx, dword [ebp - 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x88]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x60]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
not edx
jns 0x474e7a
push edx
push ebx
push ecx
call fcn.00445db0
add esp, 0xc
jmp 0x474e83
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x12], 0
jne 0x474ea7
cmp dword [eax + 0x78], 0
jne 0x474ea7
cmp dword [ebp + 0x24], 0
jne 0x474ea7
cmp dword [eax + 0x70], 0
je 0x474ea7
push eax
call fcn.004254e0
add esp, 4
mov edx, dword [ebp - 0xa8]
test edx, edx
je 0x47502e
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x474ecf
push 0
push 1
push edx
push 0x50
push ebx
call fcn.00438410
add esp, 0x14
jmp 0x474efe
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x50
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
movzx eax, word [ebx + 0x90]
mov esi, dword [ebx]
test ax, ax
je 0x474fd2
add eax, eax
push eax
push dword [ebx + 0x74]
call fcn.004442f0
mov edi, dword [ebx + 0x74]
add esp, 8
test edi, edi
je 0x474fd2
test esi, esi
je 0x474f7d
cmp dword [esi + 0x200], 0
je 0x474f45
push edi
push esi
call fcn.0043b460
add esp, 8
jmp 0x474fd2
cmp edi, dword [esi + 0x154]
jae 0x474f7d
cmp edi, dword [esi + 0x14c]
jb 0x474f65
mov eax, dword [esi + 0x148]
mov dword [edi], eax
mov dword [esi + 0x148], edi
jmp 0x474fd2
cmp edi, dword [esi + 0x150]
jb 0x474f7d
mov eax, dword [esi + 0x140]
mov dword [edi], eax
mov dword [esi + 0x140], edi
jmp 0x474fd2
cmp dword [0x4d7bf0], 0
je 0x474fc8
mov eax, dword [0x4d8cb0]
test eax, eax
je 0x474f99
push eax
call dword [0x4d7c40]
add esp, 4
push edi
call dword [0x4d7c1c]
sub dword [0x4d8c58], eax
dec dword [0x4d8c7c]
push edi
call dword [0x4d7c14]
mov eax, dword [0x4d8cb0]
add esp, 8
test eax, eax
je 0x474fd2
push eax
call dword [0x4d7c48]
jmp 0x474fcf
push edi
call dword [0x4d7c14]
add esp, 4
push 0
push 0x50
mov edi, 1
push esi
mov word [ebx + 0x90], di
call fcn.00454ea0
add esp, 0xc
mov dword [ebx + 0x74], eax
test eax, eax
je 0x47500e
mov dword [eax + 0x20], esi
mov word [eax + 8], di
mov dword [eax + 0x18], 0
mov dword [eax + 0x48], esi
mov word [eax + 0x30], di
mov dword [eax + 0x40], 0
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x47502e
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.rows_updated
push dword [ebx + 0x74]
call fcn.0047f110
add esp, 0x18
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x47504d
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0xf0], eax
test edi, edi
je 0x4750fe
test ebx, ebx
je 0x4750a9
cmp dword [ebx + 0x200], 0
je 0x475071
push edi
push ebx
call fcn.0043b460
add esp, 8
jmp 0x4750fe
cmp edi, dword [ebx + 0x154]
jae 0x4750a9
cmp edi, dword [ebx + 0x14c]
jb 0x475091
mov eax, dword [ebx + 0x148]
mov dword [edi], eax
mov dword [ebx + 0x148], edi
jmp 0x4750fe
cmp edi, dword [ebx + 0x150]
jb 0x4750a9
mov eax, dword [ebx + 0x140]
mov dword [edi], eax
mov dword [ebx + 0x140], edi
jmp 0x4750fe
cmp dword [0x4d7bf0], 0
je 0x4750f4
mov eax, dword [0x4d8cb0]
test eax, eax
je 0x4750c5
push eax
call dword [0x4d7c40]
add esp, 4
push edi
call dword [0x4d7c1c]
sub dword [0x4d8c58], eax
dec dword [0x4d8c7c]
push edi
call dword [0x4d7c14]
mov eax, dword [0x4d8cb0]
add esp, 8
test eax, eax
je 0x4750fe
push eax
call dword [0x4d7c48]
jmp 0x4750fb
push edi
call dword [0x4d7c14]
add esp, 4
push dword [ebp + 0xc]
push ebx
call fcn.00470de0
add esp, 8
test esi, esi
je 0x475118
push esi
push ebx
call fcn.00432c40
add esp, 8
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x475129
push eax
push ebx
call fcn.0045a350
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret