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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x40], 0
mov edi, dword [esi]
mov eax, edx
xorps xmm0, xmm0
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x80], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x64], 0
movq qword [esp + 0xa8], xmm0
mov dword [esp + 0x1c], edi
jne 0x4a8763
cmp byte [edi + 0x40], 0
jne 0x4a8763
call fcn.0048b2b0
mov dword [esp + 0x10], eax
test eax, eax
je 0x4a8763
mov edx, dword [eax + 0x44]
mov ecx, dword [esi]
call fcn.0049a9d0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
lea eax, [esp + 0xa0]
push eax
push dword [ebp + 8]
mov ecx, esi
push 0x6e
call fcn.004a7800
xor ecx, ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp dword [eax + 0xc], ecx
mov edx, eax
setne cl
mov dword [esp + 0x50], ecx
mov ecx, esi
call fcn.00487150
test eax, eax
jne 0x4a8763
push dword [esp + 0xa0]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.0048b340
add esp, 4
test eax, eax
jne 0x4a8763
mov eax, dword [esi + 0x44]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
mov dword [ecx + 0x38], eax
inc dword [esi + 0x44]
mov edx, dword [esi + 0x44]
mov dword [esp + 0x9c], eax
inc eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x10]
test byte [eax + 0x2c], 0x20
jne 0x4a83ff
mov dword [esp + 0x30], 0
jmp 0x4a840e
mov ecx, eax
call fcn.00485220
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
xor esi, esi
test ecx, ecx
je 0x4a8453
mov edi, dword [esp + 0x18]
jmp 0x4a8420
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
jne 0x4a843d
cmp dword [esp + 0x30], 0
je 0x4a843d
mov eax, edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
mov dword [edx + 0x38], eax
inc dword [edi + 0x44]
mov ecx, dword [ecx + 0x14]
mov edx, dword [edi + 0x44]
inc esi
test ecx, ecx
jne 0x4a8420
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x26]
add eax, esi
mov ecx, edi
lea edx, [eax*4 + 2]
add edx, esi
call fcn.0044d680
mov dword [esp + 0x48], eax
test eax, eax
je 0x4a8763
mov edi, dword [esp + 0x10]
movsx ecx, word [edi + 0x26]
lea eax, [eax + ecx*4]
mov dword [esp + 0x98], eax
lea ecx, [eax + esi*4]
lea eax, [esi + 1]
push eax
push 1
push ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0xa0], eax
call fcn.005877c0
mov eax, dword [esp + 0x80]
add esp, 0xc
mov byte [eax + esi + 1], 0
xor eax, eax
xor ecx, ecx
cmp ax, word [edi + 0x26]
jge 0x4a84d5
lea ecx, [ecx]
mov eax, dword [esp + 0x48]
inc ecx
mov dword [eax + ecx*4 - 4], 0xffffffff
movsx eax, word [edi + 0x26]
cmp ecx, eax
jl 0x4a84c0
mov eax, dword [esp + 0x68]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
xorps xmm0, xmm0
movdqa xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xb4], eax
xor al, al
cmp dword [ecx], 0
movdqa xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xb0], edx
mov byte [esp + 0x27], al
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], eax
jle 0x4a87db
xor esi, esi
mov dword [esp + 0x4c], esi
jmp 0x4a8530
mov edx, dword [ecx + 4]
lea ecx, [esp + 0xb0]
mov edx, dword [esi + edx]
call fcn.0047ad80
test eax, eax
jne 0x4a8763
mov edx, dword [esp + 0x10]
xor edi, edi
movsx eax, word [edx + 0x26]
test eax, eax
jle 0x4a8620
mov eax, dword [ebp + 8]
mov edx, dword [edx + 4]
mov ecx, dword [eax + 4]
add ecx, esi
mov dword [esp + 0x38], ecx
mov eax, edx
mov dword [esp + 0x6c], edx
mov edx, dword [eax]
mov esi, dword [ecx + 4]
mov al, byte [edx]
test al, al
je 0x4a859d
lea esp, [esp]
movzx ecx, byte [esi]
movzx eax, al
mov al, byte [eax + 0x5dcd28]
cmp al, byte [ecx + 0x5dcd28]
jne 0x4a859d
mov al, byte [edx + 1]
inc edx
inc esi
test al, al
jne 0x4a8580
movzx eax, byte [esi]
movzx ecx, byte [eax + 0x5dcd28]
movzx eax, byte [edx]
mov edx, dword [esp + 0x10]
movzx eax, byte [eax + 0x5dcd28]
sub eax, ecx
je 0x4a85d3
movsx ecx, word [edx + 0x26]
mov eax, dword [esp + 0x6c]
inc edi
add eax, 0x18
cmp edi, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
jl 0x4a8571
jmp 0x4a861c
movsx eax, word [edx + 0x24]
cmp edi, eax
jne 0x4a85ec
mov eax, dword [esp + 0x38]
mov byte [esp + 0x27], 1
mov eax, dword [eax]
mov dword [esp + 0x70], eax
jmp 0x4a8611
cmp dword [esp + 0x30], 0
je 0x4a8611
mov ecx, dword [edx + 4]
lea eax, [edi + edi*2]
test byte [ecx + eax*8 + 0x17], 1
mov eax, dword [esp + 0x34]
movzx eax, al
mov ecx, 1
cmovne eax, ecx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov dword [ecx + edi*4], eax
mov esi, dword [esp + 0x4c]
movsx eax, word [edx + 0x26]
cmp edi, eax
jl 0x4a86c9
cmp dword [esp + 0x30], 0
jne 0x4a873c
mov eax, dword [ebp + 8]
mov edx, str._ROWID_
mov eax, dword [eax + 4]
add eax, esi
mov dword [esp + 0x14], eax
mov edi, dword [eax + 4]
mov esi, edi
mov al, byte [edi]
test al, al
je 0x4a8670
movzx ecx, byte [edx]
movzx eax, al
mov al, byte [eax + 0x5dcd28]
cmp al, byte [ecx + 0x5dcd28]
jne 0x4a8670
mov al, byte [esi + 1]
inc esi
inc edx
test al, al
jne 0x4a8653
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x5dcd28]
movzx eax, byte [esi]
movzx eax, byte [eax + 0x5dcd28]
sub eax, ecx
je 0x4a86b0
push str.ROWID
push edi
call fcn.0044fb00
add esp, 8
test eax, eax
je 0x4a86b0
push 0x5eda88
push edi
call fcn.0044fb00
add esp, 8
test eax, eax
jne 0x4a873c
mov eax, dword [esp + 0x14]
or edi, 0xffffffff
mov eax, dword [eax]
mov byte [esp + 0x27], 1
mov dword [esp + 0x70], eax
mov edx, str.ROWID
jmp 0x4a86dd
test edi, edi
jns 0x4a86d4
mov edx, str.ROWID
jmp 0x4a86dd
mov eax, dword [edx + 4]
lea ecx, [edi + edi*2]
mov edx, dword [eax + ecx*8]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
push dword [eax]
mov edx, 0x17
call fcn.00483fe0
add esp, 0xc
cmp eax, 1
je 0x4a8763
cmp eax, 2
jne 0x4a871a
mov eax, dword [esp + 0x48]
mov dword [eax + edi*4], 0xffffffff
mov esi, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
add dword [esp + 0x4c], 0x18
inc esi
mov dword [esp + 0x3c], esi
cmp esi, dword [ecx]
jge 0x4a87cf
mov esi, dword [esp + 0x4c]
jmp 0x4a8530
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
push dword [eax + ecx*8 + 4]
push str.no_such_column:__s
push esi
call fcn.0044fa00
add esp, 0xc
mov byte [esi + 0x11], 1
mov esi, dword [esp + 0x1c]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x4a8782
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x1ec], eax
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4aa2d2
test esi, esi
je 0x4aa2c9
cmp dword [esi + 0x200], 0
je 0x4aa2a3
cmp ecx, dword [esi + 0x10c]
jb 0x4aa28f
cmp ecx, dword [esi + 0x110]
jae 0x4aa28f
movzx eax, word [esi + 0xf0]
mov ecx, dword [esi + 0x200]
add dword [ecx], eax
jmp 0x4aa2d2
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
mov cl, al
mov eax, dword [esp + 0x68]
add cl, byte [esp + 0x27]
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov eax, dword [edx]
mov byte [esp + 0x58], cl
test dword [eax + 0x18], 0x80000
je 0x4a881a
mov edx, dword [esp + 0x48]
movzx eax, cl
push eax
mov ecx, edi
call fcn.00491360
mov edx, dword [esp + 0x1c]
add esp, 4
jmp 0x4a881c
xor eax, eax
mov esi, dword [edi + 8]
xor ecx, ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], ecx
test esi, esi
je 0x4a88c1
cmp byte [esp + 0x58], 0
jne 0x4a888b
test eax, eax
jne 0x4a888b
cmp dword [esi + 0x24], eax
jne 0x4a888b
cmp esi, dword [esp + 0x30]
je 0x4a888b
movzx edi, word [esi + 0x32]
xor edx, edx
mov dword [esp + 0x14], eax
test edi, edi
jle 0x4a8895
mov ecx, dword [esi + 4]
jmp 0x4a8860
movsx eax, word [ecx]
mov edi, dword [esp + 0x48]
cmp dword [edi + eax*4], 0
movzx edi, word [esi + 0x32]
jge 0x4a8883
inc edx
add ecx, 2
cmp edx, edi
jl 0x4a8860
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
jmp 0x4a8895
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
inc dword [edx + 0x48]
mov eax, dword [edx + 0x48]
test eax, eax
jne 0x4a889e
mov edx, dword [esp + 0x74]
mov byte [ecx + edx + 1], 0
mov edx, dword [esp + 0x98]
inc ecx
mov dword [edx + ecx*4 - 4], eax
mov esi, dword [esi + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x40], ecx
test esi, esi
jne 0x4a8831
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 8]
mov dword [esp + 0x3c], edi
test edi, edi
jne 0x4a89a4
mov esi, dword [ecx]
mov edx, 0xd0
mov ecx, esi
call fcn.0044d680
mov edi, eax
mov dword [esp + 0x3c], edi
test edi, edi
je 0x4a8928
push 0xd0
push 0
push edi
call fcn.005877c0
mov dword [edi], esi
mov eax, dword [esi + 4]
add esp, 0xc
test eax, eax
je 0x4a8908
mov dword [eax + 0x30], edi
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x34], eax
mov dword [edi + 0x30], 0
mov dword [esi + 4], edi
mov dword [edi + 0x28], 0x26bceaa5
mov dword [edi + 0x18], ecx
jmp 0x4a8932
mov ecx, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x3c], edi
mov dword [ecx + 8], edi
test edi, edi
je 0x4a8987
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4a894f
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a8983
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [esi + esi*4]
mov word [eax + ecx*4], 0x9b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x198], 0
jne 0x4a899c
mov eax, dword [ecx]
test byte [eax + 0x3c], 8
jne 0x4a899c
mov byte [ecx + 0x17], 1
test edi, edi
je 0x4a8763
cmp byte [ecx + 0x12], 0
jne 0x4a89ae
or dword [edi + 0x58], 0x10
mov eax, dword [ecx + 0x198]
test eax, eax
mov edx, ecx
mov esi, ecx
mov ecx, dword [esp + 0x60]
cmovne edx, eax
cmovne esi, eax
mov eax, 1
shl eax, cl
mov ecx, dword [esi + 0x14c]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x38], eax
test eax, ecx
jne 0x4a8a13
or ecx, eax
mov eax, dword [esi]
mov dword [esi + 0x14c], ecx
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x10]
mov edx, ecx
add edx, edx
mov eax, dword [eax + edx*8 + 0xc]
mov eax, dword [eax]
mov dword [esi + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x4a8a0b
mov ecx, esi
call fcn.00489bc0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x10]
or dword [edx + 0x148], eax
or byte [edx + 0x14], 1
test byte [esi + 0x2c], 0x10
je 0x4a8a58
push dword [ebp + 0x10]
mov edx, dword [esp + 0x6c]
push dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x50]
push dword [esp + 0x7c]
push dword [ebp + 8]
push esi
call fcn.004aa540
mov esi, dword [esp + 0x34]
add esp, 0x18
xor edi, edi
mov dword [esp + 0x68], edi
jmp 0x4a876a
mov edx, dword [esp + 0x18]
inc dword [edx + 0x48]
cmp byte [esp + 0x34], 0
mov eax, dword [edx + 0x48]
mov dword [esp + 0x6c], eax
lea ecx, [eax + 1]
mov dword [esp + 0x7c], ecx
mov dword [edx + 0x48], ecx
mov dword [esp + 0x44], ecx
jne 0x4a8a8a
cmp dword [esp + 0x5c], 0
jne 0x4a8a8a
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4a8aa1
lea eax, [ecx + 1]
mov dword [esp + 0xa4], eax
movsx eax, word [esi + 0x26]
add eax, ecx
mov dword [edx + 0x48], eax
mov eax, dword [esp + 0x54]
cmp byte [esp + 0x58], 0
jne 0x4a8ab3
cmp dword [esp + 0x5c], 0
jne 0x4a8ab3
test eax, eax
je 0x4a8abd
inc dword [edx + 0x48]
mov eax, dword [edx + 0x48]
mov dword [esp + 0x7c], eax
mov ecx, dword [edx + 0x48]
lea eax, [ecx + 1]
mov dword [esp + 0x60], eax
movsx eax, word [esi + 0x26]
mov esi, dword [ebp + 0xc]
add eax, ecx
cmp dword [esp + 0x50], 0
mov dword [edx + 0x48], eax
je 0x4a8b0d
mov eax, dword [edx + 0x1ec]
mov ecx, dword [esp + 0x10]
push dword [esp + 0x2c]
mov dword [esp + 0xac], eax
mov eax, dword [ecx]
mov dword [esp + 0xb0], edx
mov dword [edx + 0x1ec], eax
mov edx, ecx
mov ecx, dword [esp + 0x1c]
push esi
call fcn.0048b3d0
add esp, 8
mov edx, esi
lea ecx, [esp + 0xb0]
call fcn.0047ad80
test eax, eax
jne 0x4aa284
mov eax, dword [esp + 0x10]
test byte [eax + 0x2c], 0x20
jne 0x4a8c70
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4a8b47
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a8b7b
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x6c]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x1c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x84]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
push 4
push 0
push 0
push dword [ebp + 0xc]
call fcn.004b4e70
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4a8763
mov ecx, dword [esi + 0x3c]
movzx eax, byte [esi + 0x26]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x38], ecx
cmp dword [eax + 0x54], ecx
jg 0x4a8bdc
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a8c10
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x64
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x4c], 0
jne 0x4a8c69
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x38], ecx
cmp dword [eax + 0x54], ecx
jg 0x4a8c35
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a8c69
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x6c]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x7d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
jmp 0x4a8eb3
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
movzx eax, word [eax + 0x32]
mov ecx, dword [esi + 0x48]
cwde
mov dword [esp + 0x28], eax
inc eax
add eax, ecx
mov dword [esi + 0x48], eax
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x88], eax
inc eax
mov dword [esi + 0x44], eax
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [ecx + 1]
mov dword [esp + 0x40], edx
cmp dword [eax + 0x54], esi
jg 0x4a8cbd
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a8ced
mov edx, dword [esp + 0x40]
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [esi + esi*4]
mov word [eax + ecx*4], 0x1c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x38], esi
cmp dword [eax + 0x54], esi
jg 0x4a8d11
mov ecx, edi
call fcn.0046a3a0
test eax, eax
je 0x4a8d11
mov dword [esp + 0x38], 1
jmp 0x4a8d48
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x88]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x37
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
call fcn.0046ac90
push dword [esp + 0x84]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
push 4
push 0
push 0
push dword [ebp + 0xc]
call fcn.004b4e70
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x4a8763
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [eax + 0x40]
movzx eax, byte [eax + 0x26]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x14], ecx
test eax, eax
jle 0x4a8dd2
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
add eax, esi
push eax
mov eax, dword [esp + 0x34]
mov ecx, edi
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push dword [esp + 0x34]
call fcn.0047e330
mov eax, dword [esp + 0x34]
inc esi
add esp, 0xc
cmp esi, eax
jl 0x4a8da4
cmp dword [esp + 0x4c], 0
je 0x4a8e35
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4a8e20
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*4]
movsx edx, byte [ecx + eax*4 + 1]
push dword [ecx + eax*4 + 0x10]
lea esi, [ecx + eax*4]
mov ecx, dword [edi]
call fcn.0046aa80
xorps xmm0, xmm0
movq qword [esi], xmm0
movq qword [esi + 8], xmm0
mov dword [esi + 0x10], 0
mov byte [esi], 0x9c
mov eax, dword [edi + 0x20]
dec eax
add esp, 4
cmp dword [esp + 0x38], eax
jne 0x4a8e20
mov dword [edi + 0x20], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x90], edx
mov dword [esp + 0x64], eax
jmp 0x4a8eaf
mov edx, dword [esp + 0x30]
push eax
push ecx
mov ecx, edi
call fcn.00492460
mov edx, dword [esp + 0x30]
add esp, 4
mov ecx, edi
push eax
push dword [esp + 0x6c]
push edx
push dword [esp + 0x50]
mov edx, 0x30
call fcn.0046a5b0
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
add esp, 0x14
cmp dword [eax + 0x54], esi
jg 0x4a8e78
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a8eaf
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x88]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x64]
mov word [eax + ecx*4], 0x6b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x20]
call fcn.004b57c0
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 0x80
je 0x4a8f23
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x19c], 0
jne 0x4a8f23
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov esi, dword [edi + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x4a8eef
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a8f23
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x78]
lea ecx, [esi + esi*4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [edi + 0x18]
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x28], ecx
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea eax, [ecx - 1]
test ecx, eax
jne 0x4a8f7b
mov eax, dword [esi]
mov edx, dword [esi + 0x70]
mov dword [esp + 0x38], eax
lea eax, [ecx*8 + 4]
mov ecx, dword [esp + 0x38]
push eax
mov dword [esp + 0x24], edx
call fcn.0044d700
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
jne 0x4a8f74
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
call fcn.0044d450
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
test eax, eax
je 0x4a8f89
mov dword [eax + ecx*4], 0xffffffff
or esi, 0xffffffff
sub esi, ecx
cmp dword [esp + 0x50], 0
mov dword [esp + 0x40], esi
jne 0x4a9030
cmp dword [ebp + 0x10], 5
je 0x4a8fbf
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
test eax, eax
je 0x4a8fd8
mov edi, edi
cmp byte [eax + 0x36], 5
je 0x4a8fbf
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4a8fb0
jmp 0x4a8fd8
push dword [esp + 0x94]
push 1
push dword [esp + 0x7c]
call fcn.005877c0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp dword [esp + 0x4c], 0
je 0x4a9011
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x9c]
test eax, eax
js 0x4a8fff
mov edi, dword [esp + 0x74]
sub eax, edx
mov byte [eax + edi], 0
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
test eax, eax
js 0x4a9011
sub eax, edx
mov edx, dword [esp + 0x74]
mov byte [eax + edx], 0
push 0
push 0
push dword [esp + 0x7c]
mov edx, ecx
push dword [esp + 0xa8]
mov ecx, dword [esp + 0x28]
push 0x35
call fcn.00495cd0
add esp, 0x14
cmp dword [esp + 0x4c], 0
je 0x4a90ca
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x2c]
cmp byte [eax + ecx], 0
je 0x4a906c
push dword [esp + 0x90]
mov edx, 0x41
push dword [esp + 0x68]
push esi
push ecx
mov ecx, edi
call fcn.0046a720
add esp, 0x10
mov eax, dword [edi + 0x18]
mov dword [esp + 0x28], esi
mov esi, dword [edi + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4a908a
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a9252
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
cmp dword [esp + 0x30], 0
mov edx, dword [esp + 0x40]
lea ecx, [esi + esi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x44]
cmovne eax, dword [esp + 0x64]
mov word [ecx], 0x4c
mov byte [ecx + 3], 0
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x4a9252
cmp dword [esp + 0x30], 0
je 0x4a91b0
mov ecx, edi
call fcn.0046a7d0
mov ecx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov dword [esp + 0x28], eax
cmp dword [ecx + 0x54], esi
jg 0x4a90f6
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a912d
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x88]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x69
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x80], esi
cmp dword [eax + 0x54], esi
jg 0x4a9157
mov ecx, edi
call fcn.0046a3a0
test eax, eax
je 0x4a9157
mov dword [esp + 0x80], 1
jmp 0x4a918e
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x88]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x64]
mov word [eax + ecx*4], 0x62
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x68]
mov edx, 0x41
push dword [esp + 0x30]
mov ecx, edi
push dword [esp + 0x38]
call fcn.0046a720
add esp, 0x10
jmp 0x4a9252
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x28], esi
cmp dword [eax + 0x54], esi
jg 0x4a91d4
mov ecx, edi
call fcn.0046a3a0
test eax, eax
je 0x4a91d4
mov dword [esp + 0x28], 1
jmp 0x4a9208
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x6c]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x7e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4a921e
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a9252
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x43
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x27], 0
je 0x4a92b7
push dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
call fcn.0047f9b0
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
add esp, 4
cmp dword [eax + 0x54], esi
jg 0x4a9283
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a92b7
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x7c]
lea ecx, [esi + esi*4]
mov word [eax + ecx*4], 0x26
mov byte [eax + ecx*4 + 3], 0
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 + 0x34], 0
jne 0x4a93a9
cmp dword [esp + 0x54], 0
jne 0x4a93b4
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x4a9463
xor ecx, ecx
mov dword [esp + 0x34], ecx
push dword [ebp + 0x10]
mov edx, dword [esp + 0x60]
push dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 3
push 0
push dword [ebp + 8]
call fcn.004a80f0
mov ecx, dword [esp + 0x48]
or ecx, eax
mov eax, dword [esp + 0x24]
xor edx, edx
add esp, 0x14
xor esi, esi
mov dword [esp + 0x34], ecx
cmp dx, word [eax + 0x26]
jge 0x4a9407
mov dword [esp + 0x70], edx
lea ecx, [ecx]
cmp ecx, 0xffffffff
je 0x4a93ca
cmp esi, 0x20
jge 0x4a9341
mov eax, 1
mov ecx, esi
shl eax, cl
test dword [esp + 0x34], eax
jne 0x4a93ca
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test byte [eax + edx + 0x17], 1
jne 0x4a93ca
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x20], ecx
cmp dword [eax + 0x54], ecx
jg 0x4a9371
mov ecx, edi
call fcn.0046a3a0
mov edx, dword [esp + 0x70]
test eax, eax
jne 0x4a93eb
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0xa4]
add eax, esi
mov word [ecx], 0x1c
mov byte [ecx + 3], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x4a93eb
cmp dword [esp + 0x54], 0
je 0x4a92d9
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
call fcn.00491260
mov dword [esp + 0x34], eax
jmp 0x4a92df
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x10]
add eax, esi
push eax
push esi
push dword [esp + 0x34]
mov ecx, edi
call fcn.0047e330
mov edx, dword [esp + 0x7c]
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
movsx eax, word [eax + 0x26]
inc esi
add edx, 0x18
mov dword [esp + 0x70], edx
cmp esi, eax
jl 0x4a9320
cmp byte [esp + 0x27], 0
jne 0x4a945f
cmp dword [esp + 0x30], 0
jne 0x4a945f
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4a942b
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a945f
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x44]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x7c]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x5c]
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x14]
push 1
push 1
push dword [ebp + 8]
call fcn.004a80f0
mov ecx, dword [esp + 0x24]
mov edx, eax
xor eax, eax
add esp, 0x14
xor esi, esi
mov dword [esp + 0x94], edx
cmp ax, word [ecx + 0x26]
jge 0x4a9614
jmp 0x4a94a0
movsx eax, word [ecx + 0x24]
cmp esi, eax
jne 0x4a9541
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x14], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a953c
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a94cd
add eax, eax
jmp 0x4a94d2
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x4a95fc
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
cmp eax, dword [ecx + 0x10c]
jb 0x4a9511
cmp eax, dword [ecx + 0x110]
jae 0x4a9511
movzx ecx, word [ecx + 0xf0]
jmp 0x4a951d
push eax
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x20]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax*4]
jmp 0x4a95b0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + esi*4]
test ecx, ecx
js 0x4a9570
mov eax, dword [esp + 0x60]
add eax, esi
push eax
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [edx + eax*8]
call fcn.0047f9b0
add esp, 4
jmp 0x4a95fc
test dword [esp + 0xa0], 1
je 0x4a95e2
cmp esi, 0x1f
jg 0x4a95e2
mov eax, 1
mov ecx, esi
shl eax, cl
test edx, eax
jne 0x4a95e2
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x20], ecx
cmp dword [eax + 0x54], ecx
jg 0x4a95ad
mov ecx, edi
call fcn.0046a3a0
test eax, eax
jne 0x4a95fc
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x60]
mov word [ecx], 0x1c
mov byte [ecx + 3], 0
mov dword [ecx + 4], 0
add eax, esi
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x4a95fc
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
add eax, esi
push eax
push esi
push dword [esp + 0x34]
mov ecx, edi
call fcn.0047e330
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x94]
movsx eax, word [ecx + 0x26]
inc esi
cmp esi, eax
jl 0x4a94a0
test byte [esp + 0xa0], 1
je 0x4a97a7
push dword [esp + 0x60]
mov edx, ecx
mov ecx, edi
call fcn.004924e0
mov eax, dword [esp + 0x60]
add esp, 4
mov esi, eax
test eax, eax
je 0x4a9680
mov edi, dword [esp + 0x28]
cmp byte [esi + 8], 0x6e
jne 0x4a9675
cmp byte [esi + 9], 1
jne 0x4a9675
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 0x10]
call fcn.004a7710
test eax, eax
je 0x4a9675
mov ecx, dword [esp + 0x18]
push edi
push dword [ebp + 0x10]
mov edx, esi
push dword [esp + 0x4c]
push dword [esp + 0x1c]
call fcn.004a7f30
add esp, 0x10
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x4a9640
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0x30], 0
je 0x4a96ae
push dword [esp + 0x90]
mov edx, 0x41
push dword [esp + 0x68]
mov ecx, edi
push dword [esp + 0x30]
push dword [esp + 0x38]
call fcn.0046a720
add esp, 0x10
jmp 0x4a9762
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a972e
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a96cc
add eax, eax
jmp 0x4a96d1
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a9762
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp esi, dword [eax + 0x10c]
jb 0x4a970a
cmp esi, dword [eax + 0x110]
jae 0x4a970a
movzx ecx, word [eax + 0xf0]
jmp 0x4a9716
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x20]
mov dword [edi + 4], esi
inc dword [edi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x43
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
xor eax, eax
xor esi, esi
cmp ax, word [ecx + 0x26]
jge 0x4a97a7
mov eax, dword [esp + 0x48]
cmp dword [eax + esi*4], 0
jge 0x4a979e
movsx eax, word [ecx + 0x24]
cmp esi, eax
je 0x4a979e
mov eax, dword [esp + 0x60]
add eax, esi
push eax
push esi
push dword [esp + 0x34]
mov edx, ecx
mov ecx, edi
call fcn.0047e330
mov ecx, dword [esp + 0x1c]
add esp, 0xc
movsx eax, word [ecx + 0x26]
inc esi
cmp esi, eax
jl 0x4a9770
cmp dword [esp + 0x50], 0
mov esi, dword [esp + 0x18]
jne 0x4a9aca
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x2c]
mov edx, ecx
push dword [ebp + 0x10]
mov ecx, esi
push dword [esp + 0x64]
mov dword [esp + 0x44], 0
push dword [esp + 0x54]
mov dword [esp + 0x64], 0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x48]
push dword [esp + 0xb8]
call fcn.004944b0
add esp, 0x24
cmp dword [esp + 0x54], 0
je 0x4a9824
movzx eax, byte [esp + 0x58]
mov edx, dword [esp + 0x10]
push eax
push dword [esp + 0x4c]
mov ecx, esi
push 0
push dword [esp + 0x50]
call fcn.00490d40
add esp, 0x10
cmp dword [esp + 0x50], 0
jne 0x4a9836
cmp byte [esp + 0x58], 0
je 0x4a991f
mov esi, dword [esp + 0x30]
test esi, esi
je 0x4a9867
push dword [esp + 0x90]
mov edx, 0x41
push dword [esp + 0x68]
mov ecx, edi
push 0
push dword [esp + 0x38]
call fcn.0046a720
add esp, 0x10
mov dword [esp + 0x34], eax
jmp 0x4a9923
mov ecx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], ecx
cmp dword [ecx + 0x54], esi
jg 0x4a98eb
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a9885
add eax, eax
jmp 0x4a988a
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a997a
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp esi, dword [eax + 0x10c]
jb 0x4a98c7
cmp esi, dword [eax + 0x110]
jae 0x4a98c7
movzx ecx, word [eax + 0xf0]
jmp 0x4a98d3
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [eax + 0x54], edx
mov dword [edi + 4], esi
mov esi, dword [esp + 0x34]
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x43
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x30]
push dword [esp + 0x98]
mov edx, dword [esp + 0x14]
push dword [esp + 0x88]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x34]
call fcn.0048c1d0
add esp, 0xc
cmp dword [esp + 0x54], 0
jne 0x4a995c
mov al, byte [esp + 0x58]
test al, al
jne 0x4a995c
test esi, esi
je 0x4a9a1f
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a99e7
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a9985
add eax, eax
jmp 0x4a998a
mov eax, 1
mov dword [esp + 0x34], eax
jmp 0x4a991f
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a9a1b
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp esi, dword [eax + 0x10c]
jb 0x4a99c3
cmp esi, dword [eax + 0x110]
jae 0x4a99c3
movzx ecx, word [eax + 0xf0]
jmp 0x4a99cf
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x20]
mov dword [edi + 4], esi
inc dword [edi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov word [eax + ecx*4], 0x4a
mov byte [eax + ecx*4 + 3], 0
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 al, byte [esp + 0x58]
cmp dword [esp + 0x50], 0
jne 0x4a9a2a
test al, al
je 0x4a9a4d
mov edx, dword [edi + 0x20]
mov eax, dword [esp + 0x34]
cmp edx, eax
jbe 0x4a9a3f
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
mov al, byte [esp + 0x58]
cmp dword [esp + 0x54], 0
mov esi, dword [esp + 0x18]
je 0x4a9a77
mov edx, dword [esp + 0x10]
movzx eax, al
push eax
push dword [esp + 0x4c]
mov ecx, esi
push dword [esp + 0x84]
push 0
call fcn.00490d40
add esp, 0x10
mov edx, dword [esp + 0x10]
push 0
push 0
push 1
push dword [esp + 0xa4]
mov ecx, esi
push dword [esp + 0x8c]
push dword [esp + 0x98]
push dword [esp + 0x44]
call fcn.004959b0
add esp, 0x1c
cmp dword [esp + 0x54], 0
je 0x4a9aca
movzx eax, byte [esp + 0x58]
mov edx, dword [esp + 0x10]
push eax
push dword [esp + 0x4c]
mov ecx, esi
push dword [esp + 0x4c]
push dword [ebp + 8]
call fcn.00492150
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 0x80
je 0x4a9b99
cmp dword [esi + 0x19c], 0
jne 0x4a9b99
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a9b65
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a9b03
add eax, eax
jmp 0x4a9b08
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a9b99
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp esi, dword [eax + 0x10c]
jb 0x4a9b41
cmp esi, dword [eax + 0x110]
jae 0x4a9b41
movzx ecx, word [eax + 0xf0]
jmp 0x4a9b4d
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x20]
mov dword [edi + 4], esi
inc dword [edi + 0x20]
mov edx, dword [esp + 0x78]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
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 esi, dword [esp + 0x5c]
test esi, esi
je 0x4a9be5
mov edi, dword [esp + 0x28]
cmp byte [esi + 8], 0x6e
jne 0x4a9bda
cmp byte [esi + 9], 2
jne 0x4a9bda
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 0x10]
call fcn.004a7710
test eax, eax
je 0x4a9bda
mov ecx, dword [esp + 0x18]
push edi
push dword [ebp + 0x10]
mov edx, esi
push dword [esp + 0x4c]
push dword [esp + 0x1c]
call fcn.004a7f30
add esp, 0x10
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x4a9ba5
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0x4c], 0
jne 0x4a9d79
cmp dword [esp + 0x30], 0
je 0x4a9cc5
mov esi, dword [edi + 0x18]
or ecx, 0xffffffff
sub ecx, dword [esp + 0x28]
js 0x4a9c14
mov edx, dword [esi + 0x70]
test edx, edx
je 0x4a9c14
mov eax, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [edi + 0x20]
dec eax
mov dword [esi + 0x58], eax
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a9c9f
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a9c39
add eax, eax
jmp 0x4a9c3e
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a9d79
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp esi, dword [eax + 0x10c]
jb 0x4a9c7b
cmp esi, dword [eax + 0x110]
jae 0x4a9c7b
movzx ecx, word [eax + 0xf0]
jmp 0x4a9c87
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x20]
mov dword [edi + 4], esi
mov edx, dword [esp + 0x88]
inc dword [edi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x80]
mov word [eax + ecx*4], 9
jmp 0x4a9d60
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a9d45
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a9ce3
add eax, eax
jmp 0x4a9ce8
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a9d79
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp esi, dword [eax + 0x10c]
jb 0x4a9d21
cmp esi, dword [eax + 0x110]
jae 0x4a9d21
movzx ecx, word [eax + 0xf0]
jmp 0x4a9d2d
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x20]
mov dword [edi + 4], esi
inc dword [edi + 0x20]
mov edx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov word [eax + ecx*4], 0x10
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov byte [eax + ecx*4 + 3], 0
mov edx, dword [edi + 0x18]
or esi, 0xffffffff
sub esi, dword [esp + 0x40]
js 0x4a9d92
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x4a9d92
mov eax, dword [edi + 0x20]
mov dword [ecx + esi*4], eax
mov eax, dword [edi + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov dword [esp + 0x80], edx
test edx, edx
je 0x4a9eb2
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x50], eax
cmp byte [eax], 0
je 0x4a9e96
mov eax, dword [edi + 0x20]
mov esi, dword [edi + 0x18]
mov dword [esp + 0x14], eax
cmp dword [esi + 0x54], eax
jg 0x4a9e51
mov eax, dword [esi + 0x54]
test eax, eax
je 0x4a9dea
add eax, eax
jmp 0x4a9def
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [esi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x4a9e87
mov ecx, dword [esi]
cmp eax, dword [ecx + 0x10c]
jb 0x4a9e26
cmp eax, dword [ecx + 0x110]
jae 0x4a9e26
movzx ecx, word [ecx + 0xf0]
jmp 0x4a9e32
push eax
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x20]
shr edx, 4
mov dword [esi + 0x54], edx
mov edx, dword [esp + 0x80]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x14]
inc dword [edi + 0x20]
mov esi, dword [esp + 0x3c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov word [eax + ecx*4], 0x3a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4a9e8e
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
mov edx, dword [edx + 0x14]
inc eax
inc ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], ecx
test edx, edx
jne 0x4a9dc7
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x2c], eax
jge 0x4a9f71
mov eax, dword [edi + 0x20]
mov esi, dword [edi + 0x18]
mov dword [esp + 0x14], eax
cmp dword [esi + 0x54], eax
jg 0x4a9f3d
mov eax, dword [esi + 0x54]
test eax, eax
je 0x4a9edd
add eax, eax
jmp 0x4a9ee2
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [esi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x4a9f71
mov ecx, dword [esi]
cmp eax, dword [ecx + 0x10c]
jb 0x4a9f19
cmp eax, dword [ecx + 0x110]
jae 0x4a9f19
movzx ecx, word [ecx + 0xf0]
jmp 0x4a9f25
push eax
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x20]
shr edx, 4
mov dword [esi + 0x54], edx
mov dword [edi + 4], eax
mov eax, dword [esp + 0x14]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov word [eax + ecx*4], 0x3a
mov byte [eax + ecx*4 + 3], 0
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 eax, dword [esp + 0x18]
cmp byte [eax + 0x12], 0
jne 0x4a9f8f
cmp dword [eax + 0x19c], 0
jne 0x4a9f8f
mov ecx, eax
call fcn.00492ba0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test byte [esi + 0x18], 0x80
je 0x4a8767
cmp dword [eax + 0x19c], 0
jne 0x4a8767
cmp byte [eax + 0x12], 0
jne 0x4a8767
mov eax, dword [edi + 0x20]
mov esi, dword [edi + 0x18]
mov dword [esp + 0x14], eax
cmp dword [esi + 0x54], eax
jg 0x4aa02e
mov eax, dword [esi + 0x54]
test eax, eax
je 0x4a9fce
add eax, eax
jmp 0x4a9fd3
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [esi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x4aa062
mov ecx, dword [esi]
cmp eax, dword [ecx + 0x10c]
jb 0x4aa00a
cmp eax, dword [ecx + 0x110]
jae 0x4aa00a
movzx ecx, word [ecx + 0xf0]
jmp 0x4aa016
push eax
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x20]
shr edx, 4
mov dword [esi + 0x54], edx
mov dword [edi + 4], eax
mov eax, dword [esp + 0x14]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x78]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov word [eax + ecx*4], 0x23
mov byte [eax + ecx*4 + 3], 0
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 edx, word [edi + 0x54]
mov ecx, dword [edi + 0x10]
mov esi, dword [edi]
add edx, edx
call fcn.0046b120
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x4aa0ea
test esi, esi
je 0x4aa0e1
cmp dword [esi + 0x200], 0
je 0x4aa0bb
cmp ecx, dword [esi + 0x10c]
jb 0x4aa0a7
cmp ecx, dword [esi + 0x110]
jae 0x4aa0a7
movzx eax, word [esi + 0xf0]
mov ecx, dword [esi + 0x200]
add dword [ecx], eax
jmp 0x4aa0ea
push ecx
call dword [0x62bc10]
mov ecx, dword [esi + 0x200]
add esp, 4
add dword [ecx], eax
jmp 0x4aa0ea
cmp ecx, dword [esi + 0x10c]
jb 0x4aa0e1
cmp ecx, dword [esi + 0x110]
jae 0x4aa0e1
mov eax, dword [esi + 0x108]
mov dword [ecx], eax
dec dword [esi + 0xf4]
mov dword [esi + 0x108], ecx
jmp 0x4aa0ea
push ecx
call fcn.0044d3b0
add esp, 4
mov eax, 1
mov word [edi + 0x54], ax
mov eax, 0x50
test esi, esi
je 0x4aa121
cmp byte [esi + 0x40], 0
je 0x4aa109
xor ecx, ecx
jmp 0x4aa1e8
cmp byte [esi + 0xf2], 0
je 0x4aa121
cmp ax, word [esi + 0xf0]
jbe 0x4aa169
inc dword [esi + 0x100]
cmp dword [0x62bbe0], 0
je 0x4aa1b3
mov eax, dword [0x631968]
test eax, eax
je 0x4aa141
push eax
call dword [0x62bc34]
add esp, 4
lea edx, [esp + 0x14]
mov ecx, 0x50
call fcn.0044cfc0
mov eax, dword [0x631968]
test eax, eax
je 0x4aa1a9
push eax
call dword [0x62bc3c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
jmp 0x4aa1c1
mov ecx, dword [esi + 0x108]
mov dword [esp + 0x78], ecx
test ecx, ecx
jne 0x4aa17f
inc dword [esi + 0x104]
jmp 0x4aa121
mov eax, dword [ecx]
inc dword [esi + 0xf4]
mov dword [esi + 0x108], eax
inc dword [esi + 0xfc]
mov eax, dword [esi + 0xf4]
cmp eax, dword [esi + 0xf8]
jle 0x4aa1d0
mov dword [esi + 0xf8], eax
jmp 0x4aa1d0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
jmp 0x4aa1c4
push 0x50
call dword [0x62bc04]
mov ecx, eax
mov dword [esp + 0x7c], eax
add esp, 4
test ecx, ecx
jne 0x4aa1d4
test esi, esi
je 0x4aa1d0
mov byte [esi + 0x40], 1
test ecx, ecx
je 0x4aa1e8
push 0x50
push 0
push ecx
call fcn.005877c0
mov ecx, dword [esp + 0x84]
add esp, 0xc
mov dword [edi + 0x10], ecx
test ecx, ecx
je 0x4aa205
mov edx, 1
mov word [ecx + 0x1c], dx
mov eax, dword [edi]
mov dword [ecx], eax
mov word [ecx + 0x44], dx
mov eax, dword [edi]
mov dword [ecx + 0x28], eax
mov eax, dword [edi]
cmp byte [eax + 0x40], 0
jne 0x4a8763
mov edi, dword [edi + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x4aa21f
mov eax, dword [eax + 0x58]
jmp 0x4aa224
mov eax, 0x3b9aca00
xor esi, esi
test eax, eax
js 0x4aa23e
lea ebx, [ebx]
cmp byte [esi + str.rows_updated], 0
je 0x4aa23e
inc esi
cmp esi, eax
jle 0x4aa230
xor eax, eax
mov ecx, edi
cmp eax, 0x44d3a0
jne 0x4aa25c
call fcn.004694a0
mov dword [edi + 0x24], str.rows_updated
mov eax, 0x202
jmp 0x4aa266
call fcn.004694a0
mov eax, 0xa02
mov dword [edi + 0x20], 0
mov dword [edi + 4], str.rows_updated
mov dword [edi + 0x18], esi
mov word [edi + 0x1c], ax
mov byte [edi + 0x1e], 1
jmp 0x4a8763
mov edi, esi
mov esi, dword [esp + 0x1c]
jmp 0x4a876a
push ecx
call dword [0x62bc10]
mov ecx, dword [esi + 0x200]
add esp, 4
add dword [ecx], eax
jmp 0x4aa2d2
cmp ecx, dword [esi + 0x10c]
jb 0x4aa2c9
cmp ecx, dword [esi + 0x110]
jae 0x4aa2c9
mov eax, dword [esi + 0x108]
mov dword [ecx], eax
dec dword [esi + 0xf4]
mov dword [esi + 0x108], ecx
jmp 0x4aa2d2
push ecx
call fcn.0044d3b0
add esp, 4
mov edx, dword [esp + 0x68]
mov ecx, esi
call fcn.00489610
mov edx, dword [ebp + 8]
mov ecx, esi
call fcn.0047caa0
test edi, edi
je 0x4aa537
test dword [edi + 4], 0x4000
jne 0x4aa4a1
mov edx, dword [edi + 0xc]
mov ecx, esi
call fcn.0047bde0
mov edx, dword [edi + 0x10]
mov ecx, esi
call fcn.0047bde0
test dword [edi + 4], 0x10000
je 0x4aa391
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x4aa391
test esi, esi
je 0x4aa388
cmp dword [esi + 0x200], 0
je 0x4aa362
cmp ecx, dword [esi + 0x10c]
jb 0x4aa34e
cmp ecx, dword [esi + 0x110]
jae 0x4aa34e
movzx eax, word [esi + 0xf0]
mov ecx, dword [esi + 0x200]
add dword [ecx], eax
jmp 0x4aa391
push ecx
call dword [0x62bc10]
mov ecx, dword [esi + 0x200]
add esp, 4
add dword [ecx], eax
jmp 0x4aa391
cmp ecx, dword [esi + 0x10c]
jb 0x4aa388
cmp ecx, dword [esi + 0x110]
jae 0x4aa388
mov eax, dword [esi + 0x108]
mov dword [ecx], eax
dec dword [esi + 0xf4]
mov dword [esi + 0x108], ecx
jmp 0x4aa391
push ecx
call fcn.0044d3b0
add esp, 4
test dword [edi + 4], 0x800
je 0x4aa4e0
mov esi, dword [edi + 0x14]
test esi, esi
je 0x4aa49d
mov edx, dword [esi]
mov ecx, dword [esp + 0x1c]
call fcn.0047caa0
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x1c]
call fcn.00489610
mov edx, dword [esi + 0x24]
mov ecx, dword [esp + 0x1c]
call fcn.0047bde0
mov edx, dword [esi + 0x28]
mov ecx, dword [esp + 0x1c]
call fcn.0047caa0
mov edx, dword [esi + 0x2c]
mov ecx, dword [esp + 0x1c]
call fcn.0047bde0
mov edx, dword [esi + 0x30]
mov ecx, dword [esp + 0x1c]
call fcn.0047caa0
mov edx, dword [esi + 0x34]
mov ecx, dword [esp + 0x1c]
call fcn.0049b4c0
mov edx, dword [esi + 0x3c]
mov ecx, dword [esp + 0x1c]
call fcn.0047bde0
mov edx, dword [esi + 0x40]
mov ecx, dword [esp + 0x1c]
call fcn.0047bde0
mov edx, dword [esi + 0x44]
mov ecx, dword [esp + 0x1c]
call fcn.0048a8b0
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4aa494
cmp dword [ecx + 0x200], 0
je 0x4aa46c
cmp esi, dword [ecx + 0x10c]
jb 0x4aa454
cmp esi, dword [ecx + 0x110]
jae 0x4aa454
mov esi, ecx
movzx eax, word [esi + 0xf0]
mov ecx, dword [esi + 0x200]
add dword [ecx], eax
jmp 0x4aa4a1
push esi
call dword [0x62bc10]
mov esi, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esi + 0x200]
add dword [ecx], eax
jmp 0x4aa4a1
cmp esi, dword [ecx + 0x10c]
jb 0x4aa494
cmp esi, dword [ecx + 0x110]
jae 0x4aa494
mov eax, dword [ecx + 0x108]
mov dword [esi], eax
mov dword [ecx + 0x108], esi
mov esi, ecx
dec dword [esi + 0xf4]
jmp 0x4aa4a1
push esi
call fcn.0044d3b0
add esp, 4
mov esi, dword [esp + 0x1c]
test dword [edi + 4], 0x8000
jne 0x4aa537
test esi, esi
je 0x4aa52e
cmp dword [esi + 0x200], 0
je 0x4aa504
cmp edi, dword [esi + 0x10c]
jb 0x4aa4ec
cmp edi, dword [esi + 0x110]
jae 0x4aa4ec
movzx eax, word [esi + 0xf0]
mov ecx, dword [esi + 0x200]
add dword [ecx], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x14]
mov ecx, esi
call fcn.0047caa0
jmp 0x4aa4a1
push edi
call dword [0x62bc10]
mov ecx, dword [esi + 0x200]
add esp, 4
add dword [ecx], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edi, dword [esi + 0x10c]
jb 0x4aa52e
cmp edi, dword [esi + 0x110]
jae 0x4aa52e
mov eax, dword [esi + 0x108]
mov dword [edi], eax
dec dword [esi + 0xf4]
mov dword [esi + 0x108], edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
call fcn.0044d3b0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret