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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x138
mov eax, dword [0x4ec070]
xor eax, esp
mov dword [esp + 0x134], eax
push esi
push edi
mov dword [esp + 0x74], edx
mov esi, ecx
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x94], eax
xor eax, eax
xor edx, edx
mov dword [esp + 0x84], eax
mov edi, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x44], eax
mov eax, dword [esi]
mov dword [esp + 0x28], edi
mov dword [esp + 0xb0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x24], edx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xb8], 1
movq qword [esp + 0xc4], xmm0
mov dword [esp + 0xa0], eax
cmp dword [esi + 0x24], edx
jne 0x483326
cmp byte [eax + 0x51], dl
jne 0x483326
mov edx, dword [esp + 0x74]
call fcn.004624f0
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x485462
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x30], 0xffff8000
test ecx, ecx
je 0x482d8c
mov eax, dword [esi]
xor edx, edx
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x482d8c
nop
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x482d80
mov dword [esp + 0x30], edx
lea eax, [esp + 0xcc]
mov edx, edi
push eax
push dword [esp + 0x2c]
mov ecx, esi
push 0x7f
call fcn.00481c60
mov dword [esp + 0x60], eax
add esp, 0xc
mov eax, dword [edi + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x74]
cmp dword [eax], 1
jle 0x482dc6
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x482dce
mov dword [esp + 0x2c], 0
mov edx, edi
mov ecx, esi
call fcn.0045d580
test eax, eax
jne 0x485462
push dword [esp + 0xcc]
mov edx, edi
mov ecx, esi
call fcn.00462600
add esp, 4
test eax, eax
jne 0x485462
mov eax, dword [esi + 0x28]
mov dword [esp + 0x14], eax
mov dword [esp + 0x8c], eax
lea edx, [eax + 1]
mov dword [esi + 0x28], edx
test byte [edi + 0x24], 0x80
mov dword [esp + 0xac], edx
jne 0x482e25
mov dword [esp + 0x40], 0
jmp 0x482e30
mov ecx, edi
call fcn.0045ae80
mov dword [esp + 0x40], eax
mov eax, dword [edi + 8]
xor ecx, ecx
mov dword [esp + 0xb4], ecx
test eax, eax
je 0x482e66
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x40], eax
cmove edi, edx
inc edx
mov dword [esi + 0x28], edx
inc ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x482e44
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0x94]
test edx, edx
je 0x482e8c
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x8c]
mov dword [esi + 0x28], eax
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
push 0
mov dword [edx + 0x34], eax
movsx eax, word [edi + 0x2a]
add eax, ecx
lea eax, [eax*4 + 6]
add eax, ecx
mov ecx, dword [esp + 0xa4]
push eax
call fcn.004121b0
mov edx, eax
add esp, 8
mov dword [esp + 0x1c], edx
test edx, edx
je 0x483322
movsx eax, word [edi + 0x2a]
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
lea ecx, [ecx + eax*4]
inc eax
push eax
add ecx, 4
push 1
push ecx
mov dword [esp + 0x94], ecx
call fcn.004b1740
mov eax, dword [esp + 0xc0]
add esp, 0xc
mov ecx, dword [esp + 0x88]
mov byte [ecx + eax + 1], 0
xor eax, eax
xor ecx, ecx
cmp ax, word [edi + 0x2a]
jge 0x482f34
mov esi, dword [esp + 0x1c]
nop word [eax + eax]
mov dword [esi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [edi + 0x2a]
cmp ecx, eax
jl 0x482f20
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x74]
xorps xmm0, xmm0
movaps xmmword [esp + 0x110], xmm0
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x118], eax
mov eax, dword [esi + 8]
movaps xmmword [esp + 0x120], xmm0
mov dword [esp + 0x110], esi
mov dword [esp + 0x128], 0x200
mov dword [esp + 8], eax
test eax, eax
jne 0x482fa1
cmp dword [esi + 0x74], eax
jne 0x482f8e
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x482f8e
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.00433bb0
mov dword [esp + 8], eax
test eax, eax
je 0x48331e
mov ecx, dword [esp + 0x28]
xor esi, esi
xor al, al
mov byte [esp + 0x3f], 0
mov byte [esp + 0x1b], al
mov dword [esp + 0x5c], esi
cmp dword [ecx], esi
jle 0x4831eb
lea edi, [ecx + 4]
mov dword [esp + 0x34], edi
cmp dword [esp + 0x2c], 0
jne 0x482fe2
mov edx, dword [edi]
lea ecx, [esp + 0x110]
call fcn.0044a7b0
test eax, eax
jne 0x48331e
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x38], ecx
movsx eax, word [eax + 0x2a]
test eax, eax
jle 0x483094
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], eax
mov edi, dword [edi + 4]
mov esi, dword [eax]
sub edi, esi
nop
movzx eax, byte [esi]
movzx edx, byte [esi + edi]
cmp eax, edx
jne 0x483053
test eax, eax
jne 0x483065
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
movsx eax, word [esi + 0x28]
cmp ecx, eax
jne 0x4830e0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x5c]
mov byte [esp + 0x1b], 1
mov dword [esp + 0x6c], esi
mov eax, dword [edi]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + ecx*4], esi
jmp 0x483094
movzx ecx, byte [eax + 0x4dd0c0]
movzx eax, byte [edx + 0x4dd0c0]
sub ecx, eax
jne 0x483068
inc esi
jmp 0x483010
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
inc ecx
mov edi, dword [esp + 0x34]
add eax, 0x14
movsx edx, word [esi + 0x2a]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x60], eax
cmp ecx, edx
jl 0x483007
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x2a]
cmp ecx, eax
jl 0x48312d
cmp dword [esp + 0x40], 0
jne 0x48336e
mov ecx, dword [edi + 4]
call fcn.0044d5e0
test eax, eax
je 0x48336e
mov eax, dword [esp + 0x34]
or edi, 0xffffffff
mov dword [esp + 0x38], edi
mov edx, str.ROWID
mov byte [esp + 0x1b], 1
mov dword [esp + 0x6c], esi
mov eax, dword [eax]
mov dword [esp + 0x78], eax
jmp 0x483145
cmp dword [esp + 0x40], 0
mov edx, dword [esp + 0x70]
je 0x48310b
lea eax, [ecx + ecx*4]
test byte [edx + eax*4 + 0x10], 1
je 0x48310b
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x34]
mov byte [esp + 0x3f], 1
mov dword [eax + ecx*4], esi
jmp 0x483094
lea eax, [ecx + ecx*4]
test byte [edx + eax*4 + 0x10], 0x60
jne 0x483304
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4], esi
jmp 0x483094
test ecx, ecx
jns 0x483138
mov edx, str.ROWID
jmp 0x483145
mov eax, dword [esp + 0x10]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 4]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x30]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
cmp byte [eax + 0xa5], 0
jne 0x4831c3
cmp byte [ecx + 0xcc], 0
jne 0x4831c3
mov ecx, dword [eax + 0x150]
test ecx, ecx
je 0x4831c3
mov edi, dword [esp + 0xc]
push dword [edi + 0xf4]
push esi
push edx
mov edx, dword [esp + 0x1c]
push dword [edx]
push 0x17
push dword [eax + 0x154]
call ecx
mov edi, dword [esp + 0x50]
add esp, 0x18
cmp eax, 1
je 0x4833b3
test eax, eax
je 0x4831b3
cmp eax, 2
jne 0x483395
cmp eax, 2
jne 0x4831c3
mov eax, dword [esp + 0x1c]
mov dword [eax + edi*4], 0xffffffff
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
inc esi
mov edi, dword [esp + 0x34]
add edi, 0x14
mov dword [esp + 0x5c], esi
mov dword [esp + 0x34], edi
cmp esi, dword [ecx]
jl 0x482fc5
mov edi, dword [esp + 0x10]
mov al, byte [esp + 0x1b]
mov dl, byte [esp + 0x3f]
add dl, al
test byte [edi + 0x24], 0x60
mov byte [esp + 0x58], dl
je 0x4832ef
nop
xor ecx, ecx
xor eax, eax
xor esi, esi
mov dword [esp + 0x60], ecx
cmp ax, word [edi + 0x2a]
jge 0x4832eb
xor edi, edi
nop word [eax + eax]
mov eax, dword [esp + 0x1c]
cmp dword [eax + esi*4], 0
jge 0x4832cb
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test byte [eax + edi + 0x10], 0x60
je 0x4832cb
mov edx, dword [eax + edi + 4]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0xe8], 0
movaps xmmword [esp + 0xd0], xmm0
movq qword [esp + 0xe0], xmm0
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x60]
mov word [esp + 0xe4], ax
mov dword [esp + 0xd4], 0x46bd80
test edx, edx
je 0x4832a3
lea ecx, [esp + 0xd0]
call fcn.004480b0
mov ax, word [esp + 0xe4]
mov ecx, dword [esp + 0x60]
cmp byte [esp + 0x1b], 0
jne 0x4832b2
mov edx, 0xfffd
and ax, dx
test ax, ax
je 0x4832cb
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov dword [esp + 0x60], ecx
mov dword [eax + esi*4], 0x1869f
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x14
movsx eax, word [eax + 0x2a]
cmp esi, eax
jl 0x483220
mov edi, dword [esp + 0x10]
test ecx, ecx
jne 0x483200
mov dl, byte [esp + 0x58]
cmp dword [edi + 0x38], 0
je 0x4833d1
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x4833e2
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
push dword [eax + ecx*4]
push str.cannot_UPDATE_generated_column___s_
push dword [esp + 0x14]
call fcn.00415420
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x48333e
mov eax, dword [esp + 0xc4]
mov dword [ecx + 0xf4], eax
mov esi, dword [esp + 0xa0]
test edx, edx
je 0x485500
test esi, esi
je 0x4854a1
cmp dword [esi + 0x1f8], 0
je 0x485469
mov ecx, esi
call fcn.00411dc0
jmp 0x485500
mov edi, dword [esp + 0x28]
lea eax, [esi + esi*4]
mov esi, dword [esp + 0xc]
push dword [edi + eax*4 + 8]
push str.no_such_column:__s
push esi
call fcn.00415420
mov edx, dword [esp + 0x28]
add esp, 0xc
mov byte [esi + 0x11], 1
jmp 0x483326
mov esi, dword [esp + 0xc]
push str.authorizer_malfunction
push esi
call fcn.00415420
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x48331e
mov esi, dword [esp + 0xc]
push str.not_authorized
push esi
call fcn.00415420
add esp, 8
mov dword [esi + 0xc], 0x17
jmp 0x48331e
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x74]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x44], ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x483419
movzx eax, dl
mov ecx, edi
mov edx, dword [esp + 0x1c]
push eax
call fcn.00469530
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, eax
jmp 0x48341f
xor ecx, ecx
mov dword [esp + 0x38], ecx
cmp dword [ebp + 0x10], 5
mov edx, 1
mov eax, dword [esp + 0x138]
cmove eax, edx
xor edi, edi
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], edi
mov esi, dword [eax + 8]
test esi, esi
je 0x4835e2
nop
cmp byte [esp + 0x58], 0
jne 0x4837d8
cmp ecx, 1
jg 0x4837d8
cmp esi, dword [esp + 0x40]
je 0x4837d8
mov edx, dword [esi + 0x24]
test edx, edx
je 0x4834e7
xorps xmm0, xmm0
mov dword [esp + 0xe8], 0
xor eax, eax
movq qword [esp + 0xe0], xmm0
mov word [esp + 0xe4], ax
lea ecx, [esp + 0xd0]
mov eax, dword [esp + 0x1c]
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xd4], 0x46bd80
mov dword [esp + 0xe8], eax
call fcn.004480b0
cmp byte [esp + 0x1b], 0
mov cx, word [esp + 0xe4]
jne 0x4834d7
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x4837d8
xor ecx, ecx
xor eax, eax
xor edi, edi
mov dword [esp + 0x70], ecx
cmp ax, word [esi + 0x32]
jae 0x4835b4
mov dword [esp + 0x60], ecx
nop
mov eax, dword [esi + 4]
movzx eax, word [eax + edi*2]
test ax, ax
js 0x48351b
mov edx, dword [esp + 0x1c]
cwde
mov eax, dword [edx + eax*4]
not eax
shr eax, 0x1f
jmp 0x483594
mov eax, dword [esi + 0x28]
xorps xmm0, xmm0
movaps xmmword [esp + 0xf0], xmm0
movq qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov edx, dword [eax + ecx + 4]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov word [esp + 0x104], cx
mov dword [esp + 0xf4], 0x46bd80
mov dword [esp + 0x108], eax
test edx, edx
je 0x483579
lea ecx, [esp + 0xf0]
call fcn.004480b0
mov cx, word [esp + 0x104]
cmp byte [esp + 0x1b], 0
jne 0x483588
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
mov ecx, dword [esp + 0x60]
setne al
test eax, eax
jne 0x4837a8
movzx eax, word [esi + 0x32]
inc edi
add ecx, 0x14
mov dword [esp + 0x60], ecx
cmp edi, eax
jl 0x483500
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x88]
mov byte [edi + eax + 1], 0
mov eax, dword [esp + 0x90]
mov dword [eax + edi*4], ecx
inc edi
mov esi, dword [esi + 0x14]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], edi
test esi, esi
jne 0x483450
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + edi*4], eax
cmp dword [esp + 0x138], 0
je 0x48361a
mov eax, dword [esp + 0xb4]
inc eax
push eax
push 1
push dword [esp + 0x90]
call fcn.004b1740
add esp, 0xc
cmp byte [esi + 0x12], 0
jne 0x48362b
mov eax, dword [esp + 8]
or dword [eax + 0x98], 0x10
cmp dword [esp + 0x54], 0
jne 0x483641
cmp dword [esp + 0x38], 0
mov dword [esp + 0x60], 0
je 0x483649
mov dword [esp + 0x60], 1
mov eax, dword [esi + 0x74]
test eax, eax
mov ecx, dword [esp + 0x30]
cmovne esi, eax
mov eax, 1
shl eax, cl
mov edx, dword [esi + 0x54]
test edx, eax
jne 0x483679
bts edx, ecx
mov dword [esi + 0x54], edx
cmp ecx, 1
jne 0x483679
mov ecx, esi
call fcn.00460be0
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 0x50]
mov edx, dword [esp + 0x10]
bts eax, ecx
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x60]
or byte [esi + 0x14], al
cmp dword [edx + 0x38], 0
mov esi, dword [esp + 0xc]
jne 0x48370c
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
mov eax, dword [eax + edi*4]
inc dword [esi + 0x2c]
cmp byte [esp + 0x3f], 0
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], edi
jne 0x4836cd
test ecx, ecx
jne 0x4836cd
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4836e1
lea eax, [edi + 1]
mov dword [esp + 0x7c], eax
movsx eax, word [edx + 0x2a]
add eax, edi
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x38]
cmp byte [esp + 0x58], 0
jne 0x4836f0
test ecx, ecx
jne 0x4836f0
test eax, eax
je 0x4836fa
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esp + 0xa4], eax
movsx eax, word [edx + 0x2a]
add dword [esi + 0x2c], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x483734
mov eax, dword [esi + 0xf4]
mov dword [esp + 0xc4], eax
mov eax, dword [edx]
mov dword [esi + 0xf4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc8], esi
cmp dword [esp + 0x2c], 0
mov edi, dword [esp + 0x98]
jne 0x483773
test eax, eax
je 0x483759
push dword [esp + 0x14]
mov ecx, esi
push 0
push 0
push edi
call fcn.00462650
add esp, 0x10
mov edx, edi
lea ecx, [esp + 0x110]
call fcn.0044a7b0
test eax, eax
jne 0x48331e
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x38], 0
je 0x4837f8
push dword [ebp + 0x10]
mov ecx, esi
push edi
push dword [esp + 0x24]
mov edi, dword [esp + 0x34]
push dword [esp + 0x84]
push edi
push edx
mov edx, dword [esp + 0x8c]
call fcn.00485540
mov edx, dword [esp + 0x34]
add esp, 0x18
jmp 0x483326
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x5c]
inc dword [edx + 0x2c]
movzx eax, word [esi + 0x34]
mov ecx, dword [edx + 0x2c]
add eax, ecx
cmp dword [ebp + 0x10], 0xb
mov dword [edx + 0x2c], eax
jne 0x4837eb
cmp byte [esi + 0x36], 5
jne 0x4837eb
mov dword [esp + 0x138], 1
jmp 0x4837eb
mov edx, dword [esp + 0xc]
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 0x4835c4
jmp 0x4835b8
mov eax, dword [esp + 0xa0]
dec dword [esi + 0x38]
mov edi, dword [esi + 0x38]
mov dword [esp + 0x34], edi
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
mov dword [esp + 0x50], edi
or eax, ecx
je 0x4838a6
cmp dword [esi + 0x78], 0
jne 0x4838a6
cmp byte [esi + 0x12], 0
jne 0x4838a6
cmp dword [esp + 0x94], 0
jne 0x4838a6
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov esi, dword [esp + 8]
mov dword [esp + 0xc0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x48386a
push 0
push eax
push 0
mov edx, 0x45
mov ecx, esi
call fcn.00433f60
mov edx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4838aa
mov edi, dword [esp + 0xc0]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x34]
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
jmp 0x4838aa
mov esi, dword [esp + 8]
cmp dword [esp + 0x2c], 0
jne 0x4839a0
test byte [edx + 0x24], 0x80
jne 0x4839a0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4838e5
push dword [esp + 0x20]
mov edx, 0x48
mov ecx, esi
push dword [esp + 0xa0]
push 0
call fcn.00433f60
add esp, 0xc
jmp 0x48391b
mov edx, dword [esp + 0x9c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
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 [esp + 0xc]
mov eax, dword [edx + 0x28]
mov dword [esp + 0x24], eax
inc eax
mov dword [edx + 0x28], eax
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x84], ecx
cmp dword [esi + 0x70], ecx
jg 0x483961
push dword [esp + 0x9c]
mov edx, 0x64
mov ecx, esi
push 0
push dword [esp + 0x2c]
call fcn.00433f60
add esp, 0xc
mov dword [esp + 0x84], eax
jmp 0x483baf
mov edi, dword [esp + 0x24]
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], edi
mov edi, dword [esp + 0x9c]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x483bb3
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4839ae
movzx eax, word [eax + 0x32]
jmp 0x4839b0
xor eax, eax
mov ecx, dword [esp + 0xc]
movsx edi, ax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c]
mov esi, dword [ecx + 0x2c]
inc eax
add eax, edi
mov dword [esp + 0x60], edi
add dword [ecx + 0x2c], eax
inc esi
cmp dword [esp + 0x94], 0
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jne 0x483b6c
cmp dword [esp + 0x68], 0
je 0x4839f6
movsx eax, word [edx + 0x2a]
jmp 0x4839f8
xor eax, eax
lea esi, [eax + edi]
mov eax, dword [ecx + 0x28]
add esi, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
inc eax
cmp dword [esp + 0x40], 0
mov dword [ecx + 0x28], eax
je 0x483a75
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x48]
dec edx
add edx, edi
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x483a3c
push edx
push dword [esp + 0x4c]
mov edx, 0x48
mov ecx, eax
push 0
call fcn.00433f60
add esp, 0xc
jmp 0x483a75
mov edi, dword [esp + 8]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
mov eax, edi
mov edi, dword [esp + 0x48]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x60]
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 ecx, dword [esp + 8]
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x84], edx
cmp dword [ecx + 0x70], edx
jg 0x483aa5
push 0
push esi
push dword [esp + 0x2c]
mov edx, 0x64
call fcn.00433f60
add esp, 0xc
mov dword [esp + 0x84], eax
jmp 0x483ad8
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x64
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 + 0x40]
test eax, eax
je 0x483b27
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.00461530
mov edx, eax
test edx, edx
je 0x483b23
mov word [edx + 8], si
mov esi, dword [esp + 8]
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x483b11
push edx
mov edx, 0xfffffff7
call fcn.00434d50
add esp, 4
jmp 0x483b23
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 [esp + 0x40]
cmp dword [esp + 0x2c], 0
mov ecx, dword [esp + 0xc]
je 0x483b68
mov edx, dword [esp + 0x74]
sub esp, 8
push dword [esp + 0xa0]
push edx
push dword [esp + 0x38]
mov edx, dword [esp + 0x38]
push eax
call fcn.00482900
mov eax, dword [esp + 0x2c]
add esp, 0x18
cmp dword [esp + 0x68], 0
mov ecx, dword [esp + 0xc]
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x48]
cmp dword [esp + 0x2c], 0
je 0x483ba7
mov eax, dword [ecx + 0x74]
test eax, eax
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0xc4]
cmovne ecx, eax
xor eax, eax
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x30], eax
mov byte [ecx + 0x14], 1
mov dword [esp + 0x60], esi
jmp 0x484031
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
cmp dword [esp + 0x94], 0
je 0x483c09
push 0x10
push edi
push dword [esp + 0xa0]
mov dword [esp + 0xc8], 0
push edx
mov dword [esp + 0x40], 1
call fcn.004524b0
mov edi, dword [esp + 0xd8]
add esp, 0x10
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xb8], 0
mov dword [esp + 0x70], edi
mov dword [esp + 0x60], eax
jmp 0x483cd6
cmp byte [edx + 0x12], 0
mov eax, 4
jne 0x483c39
cmp dword [esp + 0x54], 0
jne 0x483c39
cmp dword [esp + 0x38], 0
jne 0x483c39
cmp byte [esp + 0x58], 0
jne 0x483c39
cmp dword [esp + 0x138], 0
mov ecx, 0xc
cmove eax, ecx
push dword [esp + 0xac]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
push eax
push 0
push 0
push dword [esp + 0xa8]
call fcn.00495490
mov ecx, eax
add esp, 0x14
mov dword [esp + 0xbc], ecx
test ecx, ecx
je 0x48331e
mov eax, dword [ecx + 0x14]
movzx edx, byte [ecx + 0x2e]
mov edi, dword [ecx + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x30]
and eax, 1
mov dword [esp + 0x70], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0xb8], eax
cmp edx, 1
je 0x483cd6
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x74]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
cmp edx, 2
jne 0x483cd6
test edi, edi
js 0x483cd6
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x483cda
mov ecx, dword [esp + 0x88]
mov eax, edi
sub eax, dword [esp + 0x8c]
cmp byte [eax + ecx], 0
mov eax, 0
cmovne edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x24], 0x80
jne 0x483e0b
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x483d0c
push 0
push dword [esp + 0x24]
mov edx, pe_nt_image_headers32
mov ecx, esi
push eax
call fcn.00433f60
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x483d3f
mov edx, dword [esp + 0x14]
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 + 0x20]
mov dword [eax + ecx*4], pe_nt_image_headers32
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 + 0x30]
test eax, eax
jne 0x483dc6
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x90]
inc dword [eax + 0x2c]
mov eax, dword [eax + 0x2c]
mov dword [edi + ecx*4], eax
mov ecx, dword [esi + 0x6c]
mov edi, dword [esp + 0x70]
cmp dword [esi + 0x70], ecx
jg 0x483d8b
push edx
push dword [esp + 0xa0]
mov edx, 0x7a
mov ecx, esi
push dword [esp + 0x2c]
call fcn.00433f60
add esp, 0xc
jmp 0x48402d
mov edx, dword [esp + 0x24]
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 + 0x9c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48402d
mov edx, dword [esp + 0x84]
test edx, edx
je 0x484031
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
jne 0x484031
mov eax, dword [esi + 0x68]
lea edx, [edx + edx*4]
push dword [eax + edx*4 + 0x10]
lea esi, [eax + edx*4]
movsx edx, byte [esi + 1]
call fcn.00434d50
add esp, 4
mov word [esi], 0xae
mov dword [esi + 0x10], 0
jmp 0x48402d
mov eax, dword [esp + 0x80]
xor esi, esi
movsx edi, ax
test edi, edi
jle 0x483e4e
nop dword [eax + eax]
mov eax, dword [esp + 0x48]
mov edx, ecx
mov ecx, dword [esp + 8]
add eax, esi
push eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push dword [esp + 0x1c]
call fcn.00450270
mov ecx, dword [esp + 0x1c]
inc esi
add esp, 0xc
cmp esi, edi
jl 0x483e20
mov eax, dword [esp + 0x30]
test eax, eax
je 0x483eae
mov edx, dword [esp + 0x84]
test edx, edx
je 0x483e96
mov esi, dword [esp + 8]
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
jne 0x483e96
mov eax, dword [esi + 0x68]
lea edx, [edx + edx*4]
push dword [eax + edx*4 + 0x10]
lea esi, [eax + edx*4]
movsx edx, byte [esi + 1]
call fcn.00434d50
mov eax, dword [esp + 0x34]
add esp, 4
mov word [esi], 0xae
mov dword [esi + 0x10], 0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x44], ecx
jmp 0x484031
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xa0]
call fcn.0046a140
mov ecx, dword [esp + 8]
mov esi, eax
mov dword [esp + 0x84], esi
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jg 0x483eee
push dword [esp + 0x44]
mov edx, 0x5b
push edi
mov edi, dword [esp + 0x50]
push edi
call fcn.00433f60
add esp, 0xc
mov edx, eax
jmp 0x483f2c
mov esi, dword [esp + 0x48]
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x84]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 8]
mov ecx, dword [eax]
cmp byte [ecx + 0x51], 0
je 0x483f7d
mov edx, dword [esp + 0x80]
movsx eax, dx
cmp eax, 0xfffffff4
je 0x483f52
push esi
mov edx, eax
call fcn.00434d50
add esp, 4
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x483fd5
push edi
push dword [esp + 0x48]
mov edx, 0x83
mov ecx, esi
push dword [esp + 0x2c]
call fcn.00433f60
add esp, 0xc
mov edx, eax
jmp 0x484008
test edx, edx
jns 0x483f85
mov edx, dword [eax + 0x6c]
dec edx
mov eax, dword [eax + 0x68]
lea ecx, [edx + edx*4]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x80]
movsx eax, cx
test eax, eax
jns 0x483fc3
cmp byte [edx + 1], 0
jne 0x483fc3
cmp eax, 0xfffffffd
jne 0x483faf
mov dword [edx + 0x10], esi
mov byte [edx + 1], al
jmp 0x483f52
test esi, esi
je 0x483f52
mov dword [edx + 0x10], esi
mov byte [edx + 1], al
cmp eax, 0xfffffff4
jne 0x483f52
inc dword [esi + 0xc]
jmp 0x483f52
push eax
push esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00434f50
add esp, 8
jmp 0x483f56
mov edi, dword [esp + 0x24]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x484029
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x80]
movsx edi, dx
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x94], 0
jne 0x484237
cmp dword [esp + 0x2c], 0
jne 0x484057
cmp eax, 2
je 0x484057
mov ecx, dword [esp + 0xbc]
call fcn.00495f80
mov ecx, dword [esp + 0x68]
test ecx, ecx
jne 0x484178
mov ecx, dword [esp + 0x30]
xor esi, esi
test ecx, ecx
je 0x484098
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x88]
test eax, eax
js 0x484087
sub eax, dword [esp + 0x8c]
mov byte [eax + edx], 0
test edi, edi
js 0x484098
mov eax, edi
sub eax, dword [esp + 0x8c]
mov byte [eax + edx], 0
cmp ecx, 2
jne 0x48410b
mov ecx, dword [esp + 0xb4]
xor eax, eax
test edi, edi
setns al
sub ecx, eax
test ecx, ecx
jle 0x48410b
mov ecx, dword [esp + 8]
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jg 0x4840d4
push 0
push 0
push 0
mov edx, 0x11
call fcn.00433f60
add esp, 0xc
mov esi, eax
jmp 0x48410b
lea eax, [esi + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x68]
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 edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push 0
push 0
push dword [esp + 0x90]
push dword [esp + 0x98]
push 0
push 0x61
call fcn.0046e220
add esp, 0x18
test esi, esi
je 0x48417e
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x6c]
lea eax, [edx - 1]
cmp esi, eax
jne 0x48414a
mov esi, ecx
mov dword [esi + 0x6c], eax
jmp 0x484182
test esi, esi
cmovs esi, eax
mov eax, dword [ecx]
cmp byte [eax + 0x51], 0
je 0x484165
mov esi, dword [esp + 8]
mov eax, 0x4ef6a4
mov dword [eax + 8], edx
jmp 0x484182
lea ecx, [esi + esi*4]
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x484182
mov esi, dword [esp + 8]
jmp 0x484186
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4842c6
test ecx, ecx
jne 0x4841ca
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x60], ecx
je 0x4841ca
cmp edi, ecx
mov edi, dword [esp + 0x34]
je 0x4841ce
push dword [esp + 0xa8]
mov edx, 0x1d
push dword [esp + 0x48]
push edi
push ecx
mov ecx, esi
call fcn.00434700
mov eax, dword [esp + 0x40]
add esp, 0x10
jmp 0x4841ce
mov edi, dword [esp + 0x34]
cmp eax, 1
je 0x4841e1
mov eax, dword [esp + 0xc]
dec dword [eax + 0x38]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x50], eax
cmp dword [esp + 0x40], 0
mov edx, dword [esp + 0x20]
cmovne edx, dword [esp + 0x44]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x48420c
push 0
push edi
push edx
mov edx, 0x32
mov ecx, esi
call fcn.00433f60
add esp, 0xc
jmp 0x48423b
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
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
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x2c]
cmp byte [esp + 0x1b], 0
je 0x48475c
test eax, eax
jne 0x4846b2
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x4c]
cmp dword [eax + 8], 0
je 0x48470f
push edx
mov edx, dword [esp + 0x7c]
mov ecx, eax
call fcn.00450880
mov edx, dword [esp + 0x50]
mov edi, eax
add esp, 4
cmp edi, edx
je 0x48470f
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0xc]
and edx, 0x200000
neg edx
sbb edx, edx
mov esi, dword [eax + 8]
add edx, 0x4e
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x484681
push 0
push dword [esp + 0x50]
mov ecx, esi
push edi
call fcn.00433f60
mov esi, dword [esp + 0x14]
add esp, 0xc
mov edx, dword [esp + 0x4c]
jmp 0x48470f
cmp dword [esp + 0x40], 0
jne 0x4843ff
cmp dword [esp + 0x2c], 0
jne 0x4843ff
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x484300
mov edx, dword [esp + 0x34]
mov ecx, esi
push 0
push edx
push dword [esp + 0x2c]
mov edx, 0x25
call fcn.00433f60
add esp, 0xc
jmp 0x484333
mov edx, dword [esp + 0x24]
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 + 0x34]
mov dword [eax + ecx*4], 0x25
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 + 0xc]
dec dword [eax + 0x38]
mov ecx, dword [esi + 0x6c]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x50], edi
mov dword [esp + 0xb0], ecx
cmp dword [esi + 0x70], ecx
jg 0x484376
push 0
push dword [esp + 0x24]
mov edx, pe_nt_image_headers32
mov ecx, esi
push dword [esp + 0x2c]
call fcn.00433f60
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0xb0], eax
jmp 0x4843a9
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], pe_nt_image_headers32
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
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 + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4843cb
push edx
push edi
push dword [esp + 0x1c]
mov edx, 0x20
mov ecx, esi
call fcn.00433f60
add esp, 0xc
jmp 0x48423b
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48423b
mov eax, dword [esp + 0xc]
dec dword [eax + 0x38]
mov ecx, dword [esi + 0x6c]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x50], edi
cmp dword [esi + 0x70], ecx
jg 0x484431
mov edx, dword [esp + 0x34]
mov ecx, esi
push 0
push edx
push dword [esp + 0x2c]
mov edx, 0x25
call fcn.00433f60
add esp, 0xc
jmp 0x484464
mov edx, dword [esp + 0x24]
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 + 0x34]
mov dword [eax + ecx*4], 0x25
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 + 0x2c]
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0xb0], ecx
test eax, eax
je 0x4845b3
cmp dword [esp + 0x68], 0
jne 0x48423f
cmp dword [esp + 0x40], 0
je 0x484588
mov eax, dword [esp + 0x80]
xor esi, esi
movsx edi, ax
test edi, edi
jle 0x484506
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x4844cf
mov eax, dword [esp + 0x48]
mov edx, 0x59
mov ecx, dword [esp + 8]
add eax, esi
push eax
push esi
push dword [esp + 0x2c]
call fcn.00433f60
mov edx, dword [esp + 0x14]
add esp, 0xc
jmp 0x484501
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
add eax, esi
mov dword [ecx + 0xc], eax
inc esi
cmp esi, edi
jl 0x4844a4
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x484531
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, esi
push dword [esp + 0x54]
push dword [esp + 0x1c]
call fcn.00433f60
add esp, 0xc
mov edx, eax
jmp 0x484568
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 8]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x48423b
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
jmp 0x48423b
cmp dword [esi + 0x70], ecx
jg 0x484376
push 0
push dword [esp + 0x24]
mov edx, pe_nt_image_headers32
mov ecx, esi
push dword [esp + 0x2c]
call fcn.00433f60
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4843a9
cmp dword [esi + 0x70], ecx
jg 0x4845d3
push 0
push dword [esp + 0x48]
mov edx, 0x7f
mov ecx, esi
push dword [esp + 0x2c]
call fcn.00433f60
add esp, 0xc
jmp 0x484606
mov edx, dword [esp + 0x24]
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 + 0x44]
mov dword [eax + ecx*4], 0x7f
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x48462a
push dword [esp + 0x44]
mov edx, 0x1d
mov ecx, esi
push edi
push dword [esp + 0x1c]
call fcn.00433f60
add esp, 0xc
mov edx, eax
jmp 0x48465d
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 8]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x48423b
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48423b
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 8]
mov byte [eax + ecx*4], dl
mov edx, dword [esp + 0x4c]
lea eax, [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 4], edi
mov word [eax + 2], cx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
jmp 0x48470f
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4846dc
push dword [esp + 0x4c]
mov edx, dword [esp + 0x70]
mov ecx, esi
push edx
push dword [esp + 0x2c]
mov edx, 0x59
call fcn.00433f60
mov edx, dword [esp + 0x58]
add esp, 0xc
jmp 0x48470f
mov edx, dword [esp + 0x24]
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 + 0x6c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x48472d
push 0
push 0
push edx
mov edx, 0xf
mov ecx, esi
call fcn.00433f60
add esp, 0xc
jmp 0x48475c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
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 [esp + 0x3f], 0
jne 0x484827
cmp dword [esp + 0x38], 0
jne 0x484832
mov edx, dword [esp + 0x54]
test edx, edx
je 0x484917
xor esi, esi
push dword [ebp + 0x10]
mov edx, dword [esp + 0x58]
push dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
push 3
push 0
push dword [esp + 0x38]
call fcn.00482710
mov ecx, dword [esp + 0x24]
or esi, eax
mov dword [esp + 0x80], esi
xor eax, eax
add esp, 0x14
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x4848ab
xor edi, edi
nop dword [eax]
mov eax, dword [ecx + 4]
mov edx, esi
movzx eax, word [edi + eax + 0x10]
mov dword [esp + 0x60], eax
call fcn.0045aed0
movsx edx, ax
add edx, dword [esp + 0x7c]
cmp dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x78], edx
je 0x484881
cmp esi, 0x20
jge 0x484801
mov eax, 1
mov ecx, esi
shl eax, cl
test dword [esp + 0x6c], eax
jne 0x484881
test byte [esp + 0x60], 1
jne 0x484881
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x484846
push 0
push edx
push 0
mov edx, 0x48
mov ecx, eax
call fcn.00433f60
jmp 0x484894
cmp dword [esp + 0x38], 0
je 0x48477e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
call fcn.00469440
mov esi, eax
jmp 0x484780
mov edx, dword [esp + 8]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov eax, edx
mov edx, dword [esp + 0x78]
mov eax, dword [eax + 0x68]
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 0x484897
mov ecx, dword [esp + 8]
push edx
mov edx, dword [esp + 0x14]
push esi
push dword [esp + 0x1c]
call fcn.00450270
add esp, 0xc
mov ecx, dword [esp + 0x10]
inc esi
add edi, 0x14
movsx eax, word [ecx + 0x2a]
cmp esi, eax
jl 0x4847c0
cmp byte [esp + 0x1b], 0
jne 0x484913
cmp dword [esp + 0x40], 0
jne 0x484913
mov esi, dword [esp + 8]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4848e0
push 0
push dword [esp + 0x50]
mov edx, 0x4d
mov ecx, esi
push dword [esp + 0x28]
call fcn.00433f60
add esp, 0xc
jmp 0x484913
mov edx, dword [esp + 0x20]
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 + 0x4c]
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 edx, dword [esp + 0x54]
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x10]
push dword [esp + 0x14]
push 1
push 1
push dword [esp + 0x38]
call fcn.00482710
mov edx, dword [esp + 0xb8]
xor edi, edi
mov dword [esp + 0xa0], eax
add esp, 0x14
mov eax, dword [esp + 0x10]
mov esi, edx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x7c], edi
movzx ecx, word [eax + 0x2a]
cmp di, cx
jge 0x484b97
xor edx, edx
mov dword [esp + 0x60], edx
movsx eax, word [eax + 0x28]
cmp edi, eax
jne 0x484993
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x484b18
mov ecx, dword [esp + 8]
mov edx, 0x48
push 0
push esi
push 0
call fcn.00433f60
jmp 0x484b67
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx + 0x10]
test al, 0x60
je 0x4849b2
test al, 0x20
lea eax, [esi - 1]
cmove eax, esi
mov esi, eax
jmp 0x484b6a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + edi*4]
test eax, eax
js 0x484ae4
cmp dword [esp + 0x2c], 0
je 0x484a3b
cmp dword [esp + 0x68], 0
jne 0x4849d6
mov ecx, dword [esp + 0x80]
movzx ecx, cx
movsx edx, cx
add edx, eax
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x484a01
push esi
push edx
push dword [esp + 0x2c]
mov edx, 0x59
mov ecx, eax
call fcn.00433f60
jmp 0x484b67
mov edi, dword [esp + 8]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
mov eax, edi
mov edi, dword [esp + 0x24]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x6c]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x484b6a
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
cmp dword [ecx + 8], 0
je 0x484b6a
push esi
mov edx, eax
call fcn.00450880
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, esi
je 0x484b6a
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0xc]
mov edx, dword [edx + 4]
mov edi, dword [ecx + 8]
and edx, 0x200000
neg edx
sbb edx, edx
mov ecx, dword [edi + 0x6c]
add edx, 0x4e
cmp dword [edi + 0x70], ecx
jg 0x484aa6
push 0
push esi
push eax
mov ecx, edi
call fcn.00433f60
mov edi, dword [esp + 0x78]
jmp 0x484b67
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x6c]
mov byte [eax + ecx*4], dl
mov dword [eax + ecx*4 + 8], esi
lea eax, [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0xc], 0
mov word [eax + 2], cx
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], ecx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
jmp 0x484b6a
test dword [esp + 0xcc], 1
je 0x484b49
cmp edi, 0x1f
jg 0x484b49
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esp + 0x8c], eax
jne 0x484b49
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x48497b
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
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 0x484b6a
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
push esi
push edi
push dword [esp + 0x1c]
call fcn.00450270
mov dword [esp + 0xc4], 0
add esp, 0xc
mov eax, dword [esp + 0x10]
inc edi
add dword [esp + 0x60], 0x14
inc esi
mov edx, dword [esp + 0x60]
mov dword [esp + 0x6c], edi
movzx ecx, word [eax + 0x2a]
movsx eax, cx
cmp edi, eax
mov eax, dword [esp + 0x10]
jl 0x484963
mov edx, dword [esp + 0xa4]
test byte [eax + 0x24], 0x60
je 0x484bae
mov ecx, dword [esp + 0xc]
push eax
call fcn.0046a3f0
mov eax, dword [esp + 0x14]
add esp, 4
test byte [esp + 0xcc], 1
mov edi, dword [esp + 8]
je 0x484d9d
push dword [esp + 0xa4]
mov edx, eax
mov ecx, edi
call fcn.0046a1f0
mov eax, dword [esp + 0x58]
add esp, 4
mov esi, eax
test eax, eax
je 0x484c22
mov edi, dword [esp + 0x50]
cmp byte [esi + 8], 0x7f
jne 0x484c17
cmp byte [esi + 9], 1
jne 0x484c17
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
call fcn.00481b90
test eax, eax
je 0x484c17
mov ecx, dword [esp + 0xc]
mov edx, esi
push edi
push dword [ebp + 0x10]
push dword [esp + 0x28]
push dword [esp + 0x1c]
call fcn.004825c0
add esp, 0x10
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x484be1
mov edi, dword [esp + 8]
cmp dword [esp + 0x68], 0
jne 0x484d9d
cmp dword [esp + 0x40], 0
je 0x484cae
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x484c5b
push dword [esp + 0x44]
mov edx, 0x1d
mov ecx, edi
push dword [esp + 0x54]
push dword [esp + 0x1c]
call fcn.00433f60
add esp, 0xc
mov edx, eax
jmp 0x484c8e
mov esi, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x484d06
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0xa8]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x484d06
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x484cd3
push dword [esp + 0x20]
mov edx, 0x20
mov ecx, edi
push dword [esp + 0x54]
push dword [esp + 0x1c]
call fcn.00433f60
add esp, 0xc
jmp 0x484d06
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0xa4]
xor esi, esi
mov edi, eax
cmp cx, word [edx + 0x2a]
jge 0x484d80
mov dword [esp + 0x7c], ecx
mov eax, dword [edx + 4]
movzx eax, word [eax + ecx + 0x10]
test al, 0x60
je 0x484d39
test al, 0x20
lea eax, [edi - 1]
cmove eax, edi
mov edi, eax
jmp 0x484d68
mov eax, dword [esp + 0x1c]
cmp dword [eax + esi*4], 0
jge 0x484d68
movsx eax, word [edx + 0x28]
cmp esi, eax
je 0x484d68
mov ecx, dword [esp + 8]
push edi
push esi
push dword [esp + 0x1c]
call fcn.00450270
mov ecx, dword [esp + 0x88]
add esp, 0xc
mov edx, dword [esp + 0x10]
movsx eax, word [edx + 0x2a]
inc esi
add ecx, 0x14
inc edi
mov dword [esp + 0x7c], ecx
cmp esi, eax
jl 0x484d21
mov eax, dword [esp + 0xa4]
test byte [edx + 0x24], 0x60
je 0x484e31
mov ecx, dword [esp + 0xc]
push edx
mov edx, eax
call fcn.0046a3f0
mov edi, dword [esp + 0xc]
add esp, 4
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x68], 0
mov esi, dword [esp + 0x50]
jne 0x485097
push 0
push dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x140]
push eax
push esi
push dword [ebp + 0x10]
push dword [esp + 0x6c]
push dword [esp + 0x38]
push dword [esp + 0x68]
push dword [esp + 0xcc]
push dword [esp + 0x38]
push dword [esp + 0xb8]
call fcn.0046bdc0
add esp, 0x2c
cmp dword [esp + 0x138], 0
jne 0x484e02
mov al, byte [esp + 0x58]
test al, al
je 0x484e93
cmp dword [esp + 0x40], 0
je 0x484f0f
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x484e3a
push dword [esp + 0x44]
mov edx, 0x1d
mov ecx, edi
push esi
push dword [esp + 0x1c]
call fcn.00433f60
add esp, 0xc
mov edx, eax
jmp 0x484e71
mov edi, dword [esp + 8]
jmp 0x484da1
mov esi, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x484e8f
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0xa8]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov al, byte [esp + 0x58]
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x38], 0
je 0x484eb9
mov ecx, dword [esp + 0xc]
movzx eax, al
push eax
push dword [esp + 0x20]
push 0
push edx
mov edx, dword [esp + 0x20]
call fcn.00468d80
add esp, 0x10
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push 0xffffffffffffffff
push dword [esp + 0x94]
push dword [esp + 0xb4]
push dword [esp + 0x20]
call fcn.00463620
add esp, 0x10
cmp dword [esp + 0xb8], 0
je 0x484f9f
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x484f6c
push 0
push 0
push dword [esp + 0x1c]
mov edx, 0x88
mov ecx, edi
call fcn.00433f60
add esp, 0xc
jmp 0x484f9f
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x484f34
push dword [esp + 0x20]
mov edx, 0x20
mov ecx, edi
push esi
push dword [esp + 0x1c]
call fcn.00433f60
add esp, 0xc
jmp 0x484e8f
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
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
mov al, byte [esp + 0x58]
jmp 0x484e97
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x88
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x38]
cmp edx, 1
jg 0x484fb0
mov al, byte [esp + 0x58]
test al, al
je 0x485010
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x484fd5
push 0
push 0
push dword [esp + 0x1c]
mov edx, 0x7b
mov ecx, edi
call fcn.00433f60
mov edx, dword [esp + 0x44]
add esp, 0xc
jmp 0x48500c
mov esi, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x7b
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov al, byte [esp + 0x58]
test edx, edx
je 0x485032
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx eax, al
push eax
push dword [esp + 0x20]
push dword [esp + 0x54]
push 0
call fcn.00468d80
add esp, 0x10
mov edx, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x30], 2
mov ecx, dword [esp + 0xc]
push 0
sete al
push 0
lea eax, [eax*2 + 4]
push eax
push dword [esp + 0x9c]
push dword [esp + 0x5c]
push dword [esp + 0xc0]
push dword [esp + 0x2c]
call fcn.0046df90
add esp, 0x1c
cmp dword [esp + 0x38], 0
je 0x485097
movzx eax, byte [esp + 0x58]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push eax
push dword [esp + 0x20]
push dword [esp + 0x28]
push dword [esp + 0x34]
call fcn.00469d00
add esp, 0x10
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x4850f3
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4850c0
push 0
push 1
push edx
mov edx, 0x52
mov ecx, edi
call fcn.00433f60
add esp, 0xc
jmp 0x4850f3
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x52
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 + 0x54]
test eax, eax
je 0x485148
mov edi, dword [esp + 0x10]
nop
cmp byte [eax + 8], 0x7f
jne 0x485139
cmp byte [eax + 9], 2
jne 0x485139
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x10]
call fcn.00481b90
test eax, eax
je 0x485135
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0xc]
push esi
push dword [ebp + 0x10]
push dword [esp + 0x28]
push edi
call fcn.004825c0
add esp, 0x10
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x54], eax
test eax, eax
jne 0x485100
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x30]
cmp eax, 1
je 0x485212
mov ecx, dword [edi + 0xc]
cmp eax, 2
not esi
mov eax, dword [ecx + 0x3c]
jne 0x48519a
add eax, dword [ecx + 0x38]
jns 0x485183
push esi
mov edx, edi
call fcn.00434800
mov ecx, dword [esp + 0xc0]
add esp, 4
call fcn.00495f80
jmp 0x485212
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 0xbc]
call fcn.00495f80
jmp 0x485212
add eax, dword [ecx + 0x38]
jns 0x4851ac
push esi
mov edx, edi
call fcn.00434800
add esp, 4
jmp 0x4851b5
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + esi*4], eax
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4851dc
mov edx, dword [esp + 0xb0]
mov ecx, edi
push 0
push edx
push dword [esp + 0x2c]
mov edx, 5
call fcn.00433f60
add esp, 0xc
jmp 0x485212
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xb0]
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 [edi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x485230
push edx
mov edx, edi
call fcn.00434800
add esp, 4
jmp 0x485239
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x12], 0
jne 0x485260
cmp dword [eax + 0x78], 0
jne 0x485260
cmp dword [esp + 0x94], 0
jne 0x485260
cmp dword [eax + 0x70], 0
je 0x485260
mov ecx, eax
call fcn.0046a7e0
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x48331e
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x48528d
push 0
push 1
push edx
mov edx, 0x50
mov ecx, edi
call fcn.00433f60
add esp, 0xc
jmp 0x4852bc
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
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 [edi + 0x90]
mov esi, dword [edi]
test ax, ax
je 0x485393
mov ecx, dword [edi + 0x74]
lea edx, [eax + eax*4]
call fcn.00435650
mov edi, dword [edi + 0x74]
test edi, edi
je 0x48538f
test esi, esi
je 0x485337
cmp dword [esi + 0x1f8], 0
je 0x4852ff
mov edx, edi
mov ecx, esi
call fcn.00411dc0
jmp 0x48538f
cmp edi, dword [esi + 0x14c]
jae 0x485337
cmp edi, dword [esi + 0x144]
jb 0x48531f
mov eax, dword [esi + 0x140]
mov dword [edi], eax
mov dword [esi + 0x140], edi
jmp 0x48538f
cmp edi, dword [esi + 0x148]
jb 0x485337
mov eax, dword [esi + 0x138]
mov dword [edi], eax
mov dword [esi + 0x138], edi
jmp 0x48538f
cmp dword [0x4ed248], 0
je 0x485385
mov eax, dword [0x4ef5d0]
test eax, eax
je 0x485353
push eax
call dword [0x4ed298]
add esp, 4
push edi
call dword [0x4ed274]
sub dword [0x4ef610], eax
add esp, 4
dec dword [0x4ef634]
push edi
call dword [0x4ed26c]
mov eax, dword [0x4ef5d0]
add esp, 4
test eax, eax
je 0x48538f
push eax
call dword [0x4ed2a0]
jmp 0x48538c
push edi
call dword [0x4ed26c]
add esp, 4
mov edi, dword [esp + 8]
mov eax, 1
mov ecx, esi
push 0
push 0xc8
mov word [edi + 0x90], ax
call fcn.004121b0
add esp, 8
mov dword [edi + 0x74], eax
test eax, eax
je 0x485414
mov ecx, 1
mov dword [eax + 0x20], esi
mov word [eax + 8], cx
mov dword [eax + 0x18], 0
mov dword [eax + 0x48], esi
mov word [eax + 0x30], cx
mov dword [eax + 0x40], 0
mov dword [eax + 0x70], esi
mov word [eax + 0x58], cx
mov dword [eax + 0x68], 0
mov dword [eax + 0x98], esi
mov word [eax + 0x80], cx
mov dword [eax + 0x90], 0
mov dword [eax + 0xc0], esi
mov word [eax + 0xa8], cx
mov dword [eax + 0xb8], 0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x48331e
mov esi, dword [edi + 0x74]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x485434
cmp dword [esi + 0x18], 0
je 0x48543b
mov ecx, esi
call fcn.004329c0
mov eax, 0xa02
mov dword [esi + 0x10], str.rows_updated
mov dword [esi + 0x24], 0
mov dword [esi + 0xc], 0xc
mov word [esi + 8], ax
mov byte [esi + 0xa], 1
jmp 0x48331e
xor edx, edx
jmp 0x483322
cmp edx, dword [esi + 0x14c]
jae 0x4854a1
cmp edx, dword [esi + 0x144]
jb 0x485489
mov eax, dword [esi + 0x140]
mov dword [edx], eax
mov dword [esi + 0x140], edx
jmp 0x485500
cmp edx, dword [esi + 0x148]
jb 0x4854a1
mov eax, dword [esi + 0x138]
mov dword [edx], eax
mov dword [esi + 0x138], edx
jmp 0x485500
cmp dword [0x4ed248], 0
je 0x4854f6
mov eax, dword [0x4ef5d0]
test eax, eax
je 0x4854c1
push eax
call dword [0x4ed298]
mov edx, dword [esp + 0x20]
add esp, 4
push edx
call dword [0x4ed274]
sub dword [0x4ef610], eax
add esp, 4
dec dword [0x4ef634]
push dword [esp + 0x1c]
call dword [0x4ed26c]
mov eax, dword [0x4ef5d0]
add esp, 4
test eax, eax
je 0x485500
push eax
call dword [0x4ed2a0]
jmp 0x4854fd
push edx
call dword [0x4ed26c]
add esp, 4
mov edx, dword [esp + 0x74]
mov ecx, esi
call fcn.00460410
test edi, edi
je 0x485518
mov edx, edi
mov ecx, esi
call fcn.0044ce30
mov eax, dword [esp + 0x98]
test eax, eax
je 0x48552c
mov edx, eax
mov ecx, esi
call fcn.0044bcc0
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
xor ecx, esp
call fcn.004ae965
mov esp, ebp
pop ebp
ret