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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x759454]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp + 0x1c]
push ebx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x20]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xd4], eax
xor eax, eax
mov ebx, dword [esi]
push edi
xor edi, edi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x100], edi
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], eax
movq qword [ebp - 0x124], xmm0
mov dword [ebp - 0x88], ebx
cmp dword [esi + 0x24], eax
jne 0x4e5bdf
cmp byte [ebx + 0x51], al
jne 0x4e5bdf
push ecx
push esi
call fcn.004e2330
mov ebx, eax
add esp, 8
mov dword [ebp - 0x70], ebx
test ebx, ebx
je 0x4e5bd9
push dword [ebx + 0x48]
push dword [esi]
call fcn.004dea10
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x78]
push 0x7f
push ebx
push esi
call fcn.004e3620
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0xc]
push ebx
push esi
mov dword [ebp - 0xfc], eax
call fcn.004f2b90
add esp, 0x24
test eax, eax
jne 0x4e5bd9
push dword [ebp - 0x114]
push ebx
push esi
call fcn.004d4920
add esp, 0xc
test eax, eax
jne 0x4e5bd9
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0xf8], ecx
lea edx, [ecx + 1]
mov dword [esi + 0x28], edx
test byte [ebx + 0x24], 0x80
mov dword [ebp - 0xe0], edx
jne 0x4e3d69
mov dword [ebp - 0x98], edi
jmp 0x4e3d7b
push ebx
call fcn.004dc380
mov ecx, dword [ebp - 0x74]
add esp, 4
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 8]
xor edi, edi
mov dword [ebp - 0xf4], edi
test eax, eax
je 0x4e3dae
nop word [eax + eax]
cmp dword [ebp - 0x98], eax
cmove ecx, edx
inc edx
mov dword [esi + 0x28], edx
inc edi
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4e3d90
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4e3dd0
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x74], ecx
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0xd8]
push 0
mov dword [eax + 0x34], ecx
movsx eax, word [ebx + 0x2a]
add eax, edi
lea eax, [eax*4 + 6]
add eax, edi
push eax
push dword [ebp - 0x88]
call fcn.004c6390
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x7c], edi
test edi, edi
je 0x4e5bd9
movsx eax, word [ebx + 0x2a]
lea ecx, [edi + eax*4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd0], ecx
lea ecx, [ecx + eax*4]
inc eax
push eax
add ecx, 4
push 1
push ecx
mov dword [ebp - 0xc4], ecx
call fcn.005ff380
mov eax, dword [ebp - 0xf4]
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov byte [ecx + eax + 1], 0
xor eax, eax
xor ecx, ecx
cmp ax, word [ebx + 0x2a]
jge 0x4e3e60
nop dword [eax]
mov dword [edi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [ebx + 0x2a]
cmp ecx, eax
jl 0x4e3e50
mov eax, dword [ebp - 0xd8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xd4]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x68], eax
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x48], 0x200
test eax, eax
jne 0x4e3eb6
cmp dword [esi + 0x74], eax
jne 0x4e3ea2
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x4e3ea2
mov byte [esi + 0x17], 1
push esi
call fcn.004e73c0
add esp, 4
mov dword [ebp - 0x68], eax
test eax, eax
je 0x4e5bd9
mov ecx, dword [ebp - 0x78]
xor ebx, ebx
xor al, al
mov byte [ebp - 0x81], 0
mov byte [ebp - 0x69], al
mov dword [ebp - 0xb8], ebx
cmp dword [ecx], ebx
jle 0x4e40cd
lea esi, [ecx + 4]
mov dword [ebp - 0x8c], esi
nop
push dword [esi]
lea eax, [ebp - 0x60]
push eax
call fcn.004dd230
add esp, 8
test eax, eax
jne 0x4e5bd6
mov edx, dword [ebp - 0x70]
xor edi, edi
movsx eax, word [edx + 0x2a]
test eax, eax
jle 0x4e3f8e
mov eax, dword [edx + 4]
mov ebx, eax
mov dword [ebp - 0xec], eax
mov esi, dword [esi + 4]
mov edx, dword [ebx]
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4e3f5e
test ecx, ecx
jne 0x4e3f70
mov edx, dword [ebp - 0x70]
movsx eax, word [edx + 0x28]
cmp edi, eax
jne 0x4e4000
mov esi, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0xb8]
mov byte [ebp - 0x69], 1
mov eax, dword [esi]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x7c]
mov dword [eax + edi*4], ebx
jmp 0x4e3f8e
movzx eax, byte [eax + 0x6b4c40]
movzx ecx, byte [ecx + 0x6b4c40]
sub ecx, eax
jne 0x4e3f73
inc edx
jmp 0x4e3f20
mov edx, dword [ebp - 0x70]
inc edi
mov esi, dword [ebp - 0x8c]
add ebx, 0x14
movsx eax, word [edx + 0x2a]
cmp edi, eax
jl 0x4e3f12
mov ebx, dword [ebp - 0xb8]
movsx eax, word [edx + 0x2a]
cmp edi, eax
jl 0x4e405c
cmp dword [ebp - 0x98], 0
jne 0x4e41c4
mov esi, dword [esi + 4]
push str._ROWID_
push esi
call fcn.004e2be0
add esp, 8
test eax, eax
je 0x4e3fe4
push str.ROWID
push esi
call fcn.004e2be0
add esp, 8
test eax, eax
je 0x4e3fe4
push 0x6bb378
push esi
call fcn.004e2be0
add esp, 8
test eax, eax
jne 0x4e41c4
mov esi, dword [ebp - 0x8c]
or edi, 0xffffffff
mov byte [ebp - 0x69], 1
mov edx, str.ROWID
mov eax, dword [esi]
mov dword [ebp - 0x100], eax
jmp 0x4e4070
cmp dword [ebp - 0x98], 0
mov ecx, dword [ebp - 0xec]
je 0x4e4037
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 1
je 0x4e4037
mov eax, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0x8c]
mov byte [ebp - 0x81], 1
mov dword [eax + edi*4], ebx
jmp 0x4e3f8e
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 0x60
jne 0x4e41a6
mov eax, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0x8c]
mov dword [eax + edi*4], ebx
jmp 0x4e3f8e
test edi, edi
jns 0x4e4067
mov edx, str.ROWID
jmp 0x4e4070
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xa0]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0x70]
push edx
push dword [eax]
push 0x17
push dword [ebp - 0x64]
call fcn.004be750
add esp, 0x14
cmp eax, 1
je 0x4e5bd6
cmp eax, 2
jne 0x4e40af
mov eax, dword [ebp - 0x7c]
mov dword [eax + edi*4], 0xffffffff
mov ecx, dword [ebp - 0x78]
inc ebx
add esi, 0x14
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0x8c], esi
cmp ebx, dword [ecx]
jl 0x4e3ee0
mov al, byte [ebp - 0x69]
mov edx, dword [ebp - 0x70]
mov bl, byte [ebp - 0x81]
add bl, al
mov byte [ebp - 0xc8], bl
test byte [edx + 0x24], 0x60
je 0x4e4198
xor eax, eax
xor ebx, ebx
xor esi, esi
cmp ax, word [edx + 0x2a]
jge 0x4e4192
xor edi, edi
nop word [eax + eax]
mov eax, dword [ebp - 0x7c]
cmp dword [eax + esi*4], 0
jge 0x4e417a
mov eax, dword [edx + 4]
test byte [eax + edi + 0x10], 0x60
je 0x4e417a
mov ecx, dword [eax + edi + 4]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0xc], 0
movq qword [ebp - 0x14], xmm0
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x70]
mov word [ebp - 0x10], ax
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x20], 0x49d020
test ecx, ecx
je 0x4e4158
push ecx
lea eax, [ebp - 0x24]
push eax
call fcn.00504f80
mov ax, word [ebp - 0x10]
add esp, 8
mov edx, dword [ebp - 0x70]
cmp byte [ebp - 0x69], 0
jne 0x4e4166
mov ecx, 0xfffd
and ax, cx
test ax, ax
je 0x4e417a
mov eax, dword [ebp - 0x7c]
mov ebx, 1
mov dword [eax + esi*4], 0x1869f
movsx eax, word [edx + 0x2a]
inc esi
add edi, 0x14
cmp esi, eax
jl 0x4e4100
test ebx, ebx
jne 0x4e40e8
mov bl, byte [ebp - 0xc8]
cmp dword [edx + 0x38], 0
je 0x4e41f1
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x4e4208
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
push dword [eax + ecx*4]
push str.cannot_UPDATE_generated_column___s_
push dword [ebp - 0x64]
call fcn.004c8210
add esp, 0xc
jmp 0x4e5bd6
mov esi, dword [ebp - 0x78]
lea eax, [ebx + ebx*4]
mov ebx, dword [ebp - 0x64]
push dword [esi + eax*4 + 8]
push str.no_such_column:__s
push ebx
call fcn.004c8210
mov edi, dword [ebp - 0x7c]
add esp, 0xc
mov byte [ebx + 0x11], 1
mov ebx, dword [ebp - 0x88]
jmp 0x4e5be2
xorps xmm0, xmm0
movlpd qword [ebp - 0xf0], xmm0
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xd8]
mov dword [esi + 0x40], eax
movzx eax, bl
push eax
push dword [ebp - 0x7c]
mov dword [esi + 0x44], ecx
push edx
push dword [ebp - 0x64]
mov dword [ebp - 0x10c], eax
call fcn.004cf210
mov edi, eax
add esp, 0x10
cmp dword [ebp + 0x18], 5
mov ecx, 1
mov eax, dword [ebp - 8]
cmove eax, ecx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 8], eax
xor ebx, ebx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xc0], ebx
mov esi, dword [eax + 8]
test esi, esi
je 0x4e43f9
nop dword [eax]
cmp byte [ebp - 0xc8], 0
jne 0x4e43b7
cmp edi, 1
jg 0x4e43b7
cmp esi, dword [ebp - 0x98]
je 0x4e43b7
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4e42de
xorps xmm0, xmm0
mov dword [ebp - 0xc], 0
xor ecx, ecx
movq qword [ebp - 0x14], xmm0
push eax
lea eax, [ebp - 0x24]
mov word [ebp - 0x10], cx
mov ecx, dword [ebp - 0x7c]
movups xmmword [ebp - 0x24], xmm0
push eax
mov dword [ebp - 0x20], 0x49d020
mov dword [ebp - 0xc], ecx
call fcn.00504f80
mov cx, word [ebp - 0x10]
add esp, 8
cmp byte [ebp - 0x69], 0
jne 0x4e42ce
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x4e43b7
xor ecx, ecx
xor eax, eax
xor edi, edi
mov dword [ebp - 0xec], ecx
cmp ax, word [esi + 0x32]
jae 0x4e43cd
xor ebx, ebx
mov eax, dword [esi + 4]
movzx eax, word [eax + edi*2]
test ax, ax
js 0x4e4310
mov ecx, dword [ebp - 0x7c]
cwde
mov eax, dword [ecx + eax*4]
not eax
shr eax, 0x1f
jmp 0x4e4368
mov eax, dword [esi + 0x28]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x7c]
xor ecx, ecx
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x28], 0
mov eax, dword [eax + ebx + 4]
movq qword [ebp - 0x30], xmm0
mov word [ebp - 0x2c], cx
mov dword [ebp - 0x3c], 0x49d020
mov dword [ebp - 0x28], edx
test eax, eax
je 0x4e4352
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00504f80
mov cx, word [ebp - 0x2c]
add esp, 8
cmp byte [ebp - 0x69], 0
jne 0x4e4360
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x4e438a
movzx eax, word [esi + 0x32]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x4e42f6
mov ecx, dword [ebp - 0xec]
mov ebx, dword [ebp - 0xc0]
jmp 0x4e43cd
mov edx, dword [ebp - 0x64]
mov ebx, dword [ebp - 0xc0]
inc dword [edx + 0x2c]
movzx eax, word [esi + 0x34]
mov ecx, dword [edx + 0x2c]
add eax, ecx
cmp dword [ebp + 0x18], 0xb
mov dword [edx + 0x2c], eax
jne 0x4e43c9
cmp byte [esi + 0x36], 5
jne 0x4e43c9
mov dword [ebp - 8], 1
jmp 0x4e43c9
mov edx, dword [ebp - 0x64]
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 0x4e43d8
mov eax, dword [ebp - 0xc4]
mov byte [ebx + eax + 1], 0
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x8c]
mov dword [eax + ebx*4], ecx
inc ebx
mov esi, dword [esi + 0x14]
mov dword [ebp - 0xc0], ebx
test esi, esi
jne 0x4e4260
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0xd0]
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [edx + ebx*4], eax
cmp dword [ebp - 8], 0
je 0x4e442c
mov eax, dword [ebp - 0xf4]
inc eax
push eax
push 1
push dword [ebp - 0xc4]
call fcn.005ff380
mov ecx, dword [ebp - 0x64]
add esp, 0xc
cmp byte [ecx + 0x12], 0
jne 0x4e443c
mov eax, dword [ebp - 0x68]
or dword [eax + 0x98], 0x20
cmp dword [ebp - 0x94], 0
jne 0x4e444d
test edi, edi
jne 0x4e444d
xor ebx, ebx
jmp 0x4e4452
mov ebx, 1
mov eax, dword [ecx + 0x74]
mov edx, ecx
test eax, eax
mov esi, ecx
mov ecx, dword [ebp - 0xa0]
cmovne edx, eax
cmovne esi, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x54]
test edi, eax
jne 0x4e448f
bts edi, ecx
mov dword [edx + 0x54], edi
cmp ecx, 1
jne 0x4e448f
push edx
call fcn.004d6c40
mov ecx, dword [ebp - 0xa0]
add esp, 4
mov eax, dword [esi + 0x50]
or byte [esi + 0x14], bl
bts eax, ecx
mov ebx, dword [ebp - 0x64]
mov dword [esi + 0x50], eax
mov esi, dword [ebp - 0x70]
cmp dword [esi + 0x38], 0
jne 0x4e4532
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4]
inc dword [ebx + 0x2c]
cmp byte [ebp - 0x81], 0
mov edx, dword [ebx + 0x2c]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x80], edx
jne 0x4e44ec
test ecx, ecx
jne 0x4e44ec
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x4e4504
lea eax, [edx + 1]
mov dword [ebp - 0x110], eax
movsx eax, word [esi + 0x2a]
add eax, edx
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x8c]
cmp byte [ebp - 0xc8], 0
jne 0x4e4515
test ecx, ecx
jne 0x4e4515
test eax, eax
je 0x4e4521
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [ebp - 0xdc], eax
movsx eax, word [esi + 0x2a]
add dword [ebx + 0x2c], eax
mov ecx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xe4]
test ecx, ecx
je 0x4e4576
push dword [ebp - 0x74]
mov eax, dword [ebx + 0xf0]
push dword [ebp - 0xe8]
mov dword [ebp - 0x124], eax
push dword [ebp - 0xbc]
mov eax, dword [esi]
push edi
push esi
push ebx
mov dword [ebp - 0x120], ebx
mov dword [ebx + 0xf0], eax
call fcn.004d6150
add esp, 0x18
lea eax, [ebp - 0x60]
push edi
push eax
call fcn.004dd230
add esp, 8
test eax, eax
jne 0x4e5bd6
cmp dword [esi + 0x38], eax
je 0x4e45b6
push dword [ebp + 0x18]
push edi
mov edi, dword [ebp - 0x7c]
push edi
push dword [ebp - 0x100]
push dword [ebp - 0x78]
push esi
push dword [ebp - 0xd8]
push ebx
call fcn.004fdfa0
add esp, 0x20
jmp 0x4e5bd9
mov eax, dword [ebp - 0x88]
dec dword [ebx + 0x38]
mov edi, dword [ebx + 0x38]
mov dword [ebp - 0xa0], edi
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
mov dword [ebp - 0xac], edi
or eax, ecx
je 0x4e464f
cmp dword [ebx + 0x78], 0
jne 0x4e464f
cmp byte [ebx + 0x12], 0
jne 0x4e464f
cmp dword [ebp - 0xd4], 0
jne 0x4e464f
inc dword [ebx + 0x2c]
mov edx, dword [ebx + 0x2c]
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4e4618
push 0
push edx
push 0
push 0x45
push ebx
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e4652
mov edi, dword [ebp - 0xa0]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x45
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 0x4e4652
mov ebx, dword [ebp - 0x68]
test byte [esi + 0x24], 0x80
jne 0x4e473e
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4e467c
push dword [ebp - 0x80]
push dword [ebp - 0x9c]
push 0
push 0x48
push ebx
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e46b0
mov edx, dword [ebp - 0x9c]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp - 0x80]
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
cmp dword [ebp - 0xd4], 0
je 0x4e4876
mov ecx, dword [ebp - 0x64]
push 0x10
push edi
push dword [ebp - 0xe4]
mov esi, 1
mov dword [ebp - 0xec], 0
push ecx
mov dword [ebp - 0xa8], esi
call fcn.004cba60
mov edi, dword [ebp - 0x120]
add esp, 0x10
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x70]
test byte [ecx + 0x24], 0x80
jne 0x4e4a12
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4e495c
push 0
push dword [ebp - 0x80]
push edx
push 0x7f
push ebx
call fcn.004ab4a0
mov edx, dword [ebp - 0x80]
add esp, 0x14
jmp 0x4e4990
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x64]
movzx eax, word [eax + 0x32]
mov edx, dword [ecx + 0x2c]
movsx esi, ax
inc edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xb4], edx
lea eax, [esi + 1]
add dword [ecx + 0x2c], eax
cmp dword [ebp - 0xd4], 0
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x90], eax
jne 0x4e46c0
mov edi, dword [ecx + 0x28]
dec edx
add edx, esi
mov dword [ebp - 0xb0], edi
lea eax, [edi + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4e47aa
push edx
push dword [ebp - 0xb4]
push 0
push 0x48
push ebx
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e47e1
mov edi, dword [ebp - 0xb4]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [ebp - 0xb0]
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 [ebx + 0x6c]
mov dword [ebp - 0x118], ecx
cmp dword [ebx + 0x70], ecx
jg 0x4e4806
push 0
push esi
push edi
push 0x64
push ebx
call fcn.004ab4a0
add esp, 0x14
mov dword [ebp - 0x118], eax
jmp 0x4e4831
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebp - 0x64]
push dword [ebp - 0x98]
push edi
mov esi, dword [edi + 8]
call fcn.004d4cb0
mov edx, eax
add esp, 8
test edx, edx
je 0x4e4879
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4e4862
push edx
push 0xfffffffffffffff7
push eax
call fcn.004a8c40
add esp, 0xc
jmp 0x4e4879
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
jmp 0x4e4879
mov edi, dword [ebp - 0x64]
cmp byte [edi + 0x12], 0
mov eax, 0x1004
jne 0x4e48ab
cmp dword [ebp - 0x94], 0
jne 0x4e48ab
cmp dword [ebp - 0x8c], 0
jne 0x4e48ab
cmp byte [ebp - 0xc8], 0
jne 0x4e48ab
cmp dword [ebp - 8], 0
mov ecx, 0x100c
cmove eax, ecx
push dword [ebp - 0xe0]
push eax
push 0
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xd8]
push edi
call fcn.004f4f30
mov ecx, eax
add esp, 0x1c
mov dword [ebp - 0xec], ecx
test ecx, ecx
je 0x4e5bd6
movzx esi, byte [ecx + 0x2e]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0x74]
and ecx, 1
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xe8], ecx
cmp esi, 1
je 0x4e470c
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x74]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
cmp esi, 2
jne 0x4e470c
test edi, edi
js 0x4e470c
cmp edi, edx
je 0x4e470c
mov ecx, dword [ebp - 0xc4]
mov eax, edi
sub eax, dword [ebp - 0xf8]
cmp byte [eax + ecx], 0
mov eax, 0
cmovne esi, eax
mov dword [ebp - 0xa8], esi
jmp 0x4e470c
mov esi, dword [ebp - 0xa8]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x80]
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
test esi, esi
jne 0x4e4c2f
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xd0]
inc dword [eax + 0x2c]
mov eax, dword [eax + 0x2c]
mov dword [edi + ecx*4], eax
mov ecx, dword [ebx + 0x6c]
mov edi, dword [ebp - 0xb8]
cmp dword [ebx + 0x70], ecx
jg 0x4e49d9
push esi
push edx
push dword [ebp - 0x9c]
push 0x93
push ebx
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e4c2f
mov edx, dword [ebp - 0x9c]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x80]
mov dword [eax + ecx*4], 0x93
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4e4c2f
mov eax, dword [ebp - 0xcc]
xor esi, esi
movsx ebx, ax
test ebx, ebx
jle 0x4e4a57
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0xb4]
add eax, esi
push eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push edx
push ecx
push edi
call fcn.004c9070
mov ecx, dword [ebp - 0x70]
inc esi
mov edx, dword [ebp - 0x74]
add esp, 0x14
cmp esi, ebx
jl 0x4e4a24
mov edi, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xa8]
test esi, esi
je 0x4e4aba
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x4e4aa3
mov eax, dword [ebp - 0x68]
mov edx, dword [eax]
cmp byte [edx + 0x51], 0
jne 0x4e4aa3
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.004a8c40
mov word [esi], 0xad
add esp, 0xc
mov dword [esi + 0x10], 0
mov esi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x90], eax
jmp 0x4e4c2c
push dword [ebp - 0x98]
push dword [ebp - 0x88]
call fcn.004d2f80
mov ecx, dword [ebp - 0x68]
add esp, 8
mov esi, eax
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jg 0x4e4af7
push dword [ebp - 0x90]
push ebx
push dword [ebp - 0xb4]
push 0x5b
push ecx
call fcn.004ab4a0
add esp, 0x14
mov edx, eax
jmp 0x4e4b33
mov edi, dword [ebp - 0xb4]
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [ebp - 0x90]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx]
cmp byte [eax + 0x51], 0
je 0x4e4b50
cmp ebx, 0xfffffff4
je 0x4e4b9b
push esi
push ebx
push eax
call fcn.004a8c40
add esp, 0xc
jmp 0x4e4b9b
test edx, edx
jns 0x4e4b58
mov edx, dword [ecx + 0x6c]
dec edx
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x68]
mov eax, dword [edx + 0x68]
lea eax, [eax + ecx*4]
test ebx, ebx
jns 0x4e4b8f
cmp byte [eax + 1], 0
jne 0x4e4b8f
cmp ebx, 0xfffffffd
jne 0x4e4b7b
mov dword [eax + 0x10], esi
mov byte [eax + 1], bl
jmp 0x4e4b9b
test esi, esi
je 0x4e4b9b
mov dword [eax + 0x10], esi
mov byte [eax + 1], bl
cmp ebx, 0xfffffff4
jne 0x4e4b9b
inc dword [esi + 0xc]
jmp 0x4e4b9b
push ebx
push esi
push eax
push edx
call fcn.004fec10
add esp, 0x10
mov eax, dword [ebp - 0x68]
mov edx, dword [eax + 0x6c]
cmp dword [eax + 0x70], edx
jg 0x4e4bcd
push dword [ebp - 0xb4]
push dword [ebp - 0x90]
push dword [ebp - 0xb0]
push 0x83
push eax
call fcn.004ab4a0
mov esi, dword [ebp - 0x68]
add esp, 0x14
mov edx, eax
jmp 0x4e4c0f
mov esi, dword [ebp - 0x68]
lea eax, [edx + 1]
mov edi, dword [ebp - 0xb0]
lea ecx, [edx + edx*4]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [ebp - 0x90]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [ebp - 0xb4]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4e4c26
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
mov esi, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x68]
cmp dword [ebp - 0xd4], 0
jne 0x4e500f
cmp esi, 2
je 0x4e4c4f
push dword [ebp - 0xec]
call fcn.004f7dc0
add esp, 4
mov eax, dword [ebp - 0xfc]
test eax, eax
jne 0x4e4d51
mov ecx, dword [ebp - 0xa8]
xor esi, esi
test ecx, ecx
je 0x4e4c93
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc4]
test eax, eax
js 0x4e4c83
sub eax, dword [ebp - 0xf8]
mov byte [eax + edx], 0
test edi, edi
js 0x4e4c93
mov eax, edi
sub eax, dword [ebp - 0xf8]
mov byte [eax + edx], 0
cmp ecx, 2
jne 0x4e4cfb
mov ecx, dword [ebp - 0xf4]
xor eax, eax
test edi, edi
setns al
sub ecx, eax
test ecx, ecx
jle 0x4e4cfb
mov esi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], esi
jg 0x4e4cc8
push 0
push 0
push 0
push 0x11
push ebx
call fcn.004ab4a0
add esp, 0x14
mov esi, eax
jmp 0x4e4cfb
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [ebx + 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 eax, dword [ebp - 0x70]
push 0
push 0
push dword [ebp - 0xc4]
push dword [ebp - 0xf8]
push 0
push 0x61
push eax
push dword [ebp - 0x64]
call fcn.004d6a30
add esp, 0x20
test esi, esi
je 0x4e4d45
mov edx, dword [ebx + 0x6c]
jns 0x4e4d2a
lea esi, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
je 0x4e4d39
mov eax, 0x75fa34
jmp 0x4e4d42
mov eax, dword [ebx + 0x68]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xfc]
mov esi, dword [ebp - 0xa8]
test esi, esi
je 0x4e4e0a
test eax, eax
jne 0x4e4d90
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0xbc], eax
je 0x4e4d90
mov ebx, dword [ebp - 0xa0]
cmp edi, eax
mov edi, dword [ebp - 0x68]
je 0x4e4d99
push dword [ebp - 0x104]
push dword [ebp - 0x90]
push ebx
push eax
push 0x1d
push edi
call fcn.004e6bc0
add esp, 0x18
jmp 0x4e4d99
mov ebx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x68]
cmp esi, 1
je 0x4e4dad
mov eax, dword [ebp - 0x64]
dec dword [eax + 0x38]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x98], 0
mov edx, dword [ebp - 0x80]
cmovne edx, dword [ebp - 0x90]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4e4dda
push 0
push ebx
push edx
push 0x32
push edi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5012
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4e5012
cmp dword [ebp - 0x98], 0
mov edi, dword [ebp - 0x68]
je 0x4e4f62
mov esi, dword [ebp - 0x64]
dec dword [esi + 0x38]
mov ecx, dword [edi + 0x6c]
mov ebx, dword [esi + 0x38]
mov dword [ebp - 0xac], ebx
cmp dword [edi + 0x70], ecx
jg 0x4e4e4d
mov edx, dword [ebp - 0xa0]
push 0
push edx
push dword [ebp - 0xb0]
push 0x25
push edi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e4e84
mov edx, dword [ebp - 0xb0]
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 [ebp - 0xa0]
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 ecx, dword [edi + 0x6c]
mov dword [ebp - 0x108], ecx
cmp dword [edi + 0x70], ecx
jg 0x4e4eb3
push 0
push dword [ebp - 0x90]
push dword [ebp - 0xb0]
push 0x7e
push edi
call fcn.004ab4a0
add esp, 0x14
mov dword [ebp - 0x108], eax
jmp 0x4e4eea
mov edx, dword [ebp - 0xb0]
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 [ebp - 0x90]
mov dword [eax + ecx*4], 0x7e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x4e4f0b
push dword [ebp - 0x90]
push ebx
push dword [ebp - 0x74]
push 0x1d
push edi
call fcn.004ab4a0
add esp, 0x14
mov edx, eax
jmp 0x4e4f3e
mov esi, dword [ebp - 0x74]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [ebp - 0x90]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x4e5015
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4e5015
mov ebx, dword [edi + 0x6c]
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0xac], ebx
cmp dword [edi + 0x70], ebx
jg 0x4e4f96
mov edx, dword [ebp - 0xa0]
push esi
push edx
push dword [ebp - 0x9c]
push 0x2a
push edi
call fcn.004ab4a0
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0xac], ebx
jmp 0x4e4fc9
mov edx, dword [ebp - 0x9c]
lea eax, [ebx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0x2a
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4e4fe3
push esi
push ebx
push dword [ebp - 0x74]
push 0x20
push edi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5012
mov edx, dword [ebp - 0x74]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4e5012
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
cmp byte [ebp - 0x69], 0
je 0x4e5104
push dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x100]
push ebx
push esi
call fcn.004ca200
mov edi, eax
add esp, 0xc
mov eax, dword [ebp - 0xa4]
cmp edi, eax
je 0x4e50b2
mov esi, dword [esi + 8]
test esi, esi
je 0x4e50af
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x6c]
and edx, 0x200000
neg edx
sbb edx, edx
add edx, 0x4e
cmp dword [esi + 0x70], ecx
jg 0x4e5070
push 0
push eax
push edi
push edx
push esi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e50a9
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [ebp - 0xa4]
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x68]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4e50cf
push 0
push 0
push eax
push 0xf
push edi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5104
mov edx, dword [ebp - 0xa4]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 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 [ebp - 0x81], 0
jne 0x4e51c2
cmp dword [ebp - 0x8c], 0
jne 0x4e51cf
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x4e52a5
xor ebx, ebx
push dword [ebp + 0x18]
push dword [ebp - 0x70]
push 3
push 0
push dword [ebp - 0x78]
push dword [ebp - 0x94]
push esi
call fcn.004e3230
mov ecx, dword [ebp - 0x70]
or ebx, eax
xor eax, eax
mov dword [ebp - 0xcc], ebx
add esp, 0x1c
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x4e523c
xor edi, edi
mov eax, dword [ecx + 4]
push esi
push ecx
movzx ebx, word [eax + edi + 0x10]
call fcn.004e2e00
movsx edx, ax
add esp, 8
add edx, dword [ebp - 0x110]
cmp dword [ebp - 0xcc], 0xffffffff
je 0x4e5213
cmp esi, 0x20
jge 0x4e51a3
mov eax, 1
mov ecx, esi
shl eax, cl
test dword [ebp - 0xcc], eax
jne 0x4e5213
test bl, 1
jne 0x4e5213
mov ebx, dword [ebp - 0x68]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4e51e2
push 0
push edx
push 0
push 0x48
push ebx
call fcn.004ab4a0
jmp 0x4e5223
cmp dword [ebp - 0x8c], 0
je 0x4e512c
push dword [ebp - 0x70]
push esi
call fcn.004cf130
add esp, 8
mov ebx, eax
jmp 0x4e512e
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 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 0x4e5226
push edx
push esi
push dword [ebp - 0x74]
push dword [ebp - 0x70]
push dword [ebp - 0x68]
call fcn.004c9070
add esp, 0x14
mov ecx, dword [ebp - 0x70]
inc esi
add edi, 0x14
movsx eax, word [ecx + 0x2a]
cmp esi, eax
jl 0x4e5165
mov edi, dword [ebp - 0x68]
cmp byte [ebp - 0x69], 0
jne 0x4e529f
cmp dword [ebp - 0x98], 0
jne 0x4e529f
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4e526b
push 0
push dword [ebp - 0xa4]
push dword [ebp - 0x80]
push 0x4d
push edi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e529f
mov edx, dword [ebp - 0x80]
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 [ebp - 0xa4]
mov dword [eax + ecx*4], 0x4d
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp - 0x94]
push dword [ebp + 0x18]
push dword [ebp - 0x70]
push 1
push 1
push dword [ebp - 0x78]
push eax
push dword [ebp - 0x64]
call fcn.004e3230
mov ecx, dword [ebp - 0xdc]
mov edx, eax
mov eax, dword [ebp - 0x70]
xor edi, edi
add esp, 0x1c
mov dword [ebp - 0x9c], edx
xor ebx, ebx
mov esi, ecx
cmp di, word [eax + 0x2a]
mov edi, dword [ebp - 0x68]
jge 0x4e5488
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
nop word [eax + eax]
movsx eax, word [eax + 0x28]
cmp ebx, eax
jne 0x4e5316
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4e540c
push 0
push esi
push 0
push 0x48
push edi
call fcn.004ab4a0
jmp 0x4e5455
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 4]
movzx eax, word [eax + ecx + 0x10]
test al, 0x60
je 0x4e5334
test al, 0x20
lea eax, [esi - 1]
cmove eax, esi
mov esi, eax
jmp 0x4e545e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + ebx*4]
test eax, eax
js 0x4e53e2
mov ecx, dword [ebp - 0x78]
lea eax, [eax + eax*4]
mov edi, dword [ebp - 0x64]
push esi
mov eax, dword [ecx + eax*4 + 4]
push eax
push edi
mov dword [ebp - 0x110], eax
call fcn.004ca200
add esp, 0xc
mov dword [ebp - 0xcc], eax
cmp eax, esi
je 0x4e5458
mov edi, dword [edi + 8]
test edi, edi
je 0x4e5458
mov edx, dword [ebp - 0x110]
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + 4]
and edx, 0x200000
neg edx
sbb edx, edx
add edx, 0x4e
cmp dword [edi + 0x70], ecx
jg 0x4e53a7
push 0
push esi
push eax
push edx
push edi
call fcn.004ab4a0
jmp 0x4e5455
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [ebp - 0xcc]
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 byte [eax + ecx*4 + 1], 0
jmp 0x4e5458
test dword [ebp - 0x114], 1
je 0x4e543d
cmp ebx, 0x1f
jg 0x4e543d
mov eax, 1
mov ecx, ebx
shl eax, cl
test edx, eax
jne 0x4e543d
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jle 0x4e5304
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 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 0x4e545e
push esi
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x70]
push edi
call fcn.004c9070
mov dword [ebp - 0xe8], 0
add esp, 0x14
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x70]
inc ebx
add dword [ebp - 0xbc], 0x14
inc esi
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0x68]
movsx eax, word [eax + 0x2a]
cmp ebx, eax
mov eax, dword [ebp - 0x70]
jl 0x4e52f0
mov ecx, dword [ebp - 0xdc]
test byte [eax + 0x24], 0x60
je 0x4e549e
push eax
push ecx
push dword [ebp - 0x64]
call fcn.004c4b70
mov eax, dword [ebp - 0x70]
add esp, 0xc
test byte [ebp - 0x114], 1
je 0x4e565c
push dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x68]
push eax
push ebx
call fcn.004e2cf0
mov eax, dword [ebp - 0x94]
add esp, 0xc
mov edi, dword [ebp - 0xac]
mov esi, eax
test eax, eax
je 0x4e550f
mov ebx, dword [ebp - 0x70]
cmp byte [esi + 8], 0x7f
jne 0x4e5505
cmp byte [esi + 9], 1
jne 0x4e5505
push dword [ebp - 0x78]
push dword [esi + 0x10]
call fcn.0049cf50
add esp, 8
test eax, eax
je 0x4e5505
push edi
push dword [ebp + 0x18]
push dword [ebp - 0x80]
push ebx
push esi
push dword [ebp - 0x64]
call fcn.004c3e00
add esp, 0x18
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x4e54d3
mov ebx, dword [ebp - 0x68]
cmp dword [ebp - 0x98], 0
je 0x4e55be
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x4e553d
push dword [ebp - 0x90]
push edi
push dword [ebp - 0x74]
push 0x1d
push ebx
call fcn.004ab4a0
add esp, 0x14
mov edx, eax
jmp 0x4e556d
mov esi, dword [ebp - 0x74]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
jne 0x4e558a
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x104]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
xor ebx, ebx
mov eax, dword [ebp - 0xdc]
xor esi, esi
mov edi, eax
cmp bx, word [ecx + 0x2a]
jge 0x4e5646
mov eax, dword [ecx + 4]
movzx eax, word [ebx + eax + 0x10]
test al, 0x60
je 0x4e5609
test al, 0x20
lea eax, [edi - 1]
cmove eax, edi
mov edi, eax
jmp 0x4e562c
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4e55da
push dword [ebp - 0x80]
push edi
push dword [ebp - 0x74]
push 0x20
push ebx
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e558a
mov edx, dword [ebp - 0x74]
lea eax, [ecx + 1]
mov esi, dword [ebp - 0x80]
lea ecx, [ecx + ecx*4]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4e558d
mov eax, dword [ebp - 0x7c]
cmp dword [eax + esi*4], 0
jge 0x4e562c
movsx eax, word [ecx + 0x28]
cmp esi, eax
je 0x4e562c
push edi
push esi
push edx
push ecx
push dword [ebp - 0x68]
call fcn.004c9070
mov ecx, dword [ebp - 0x70]
add esp, 0x14
movsx eax, word [ecx + 0x2a]
inc esi
mov edx, dword [ebp - 0x74]
add ebx, 0x14
inc edi
cmp esi, eax
jl 0x4e55a6
mov eax, dword [ebp - 0xdc]
test byte [ecx + 0x24], 0x60
mov esi, dword [ebp - 0x64]
je 0x4e5662
push ecx
push eax
push esi
call fcn.004c4b70
add esp, 0xc
jmp 0x4e565f
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x70]
cmp dword [ebp - 0xfc], 0
mov ebx, dword [ebp - 0xac]
jne 0x4e5903
push 0
push dword [ebp - 0x7c]
mov edi, dword [ebp - 0x74]
lea eax, [ebp - 8]
push eax
push ebx
push dword [ebp + 0x18]
push dword [ebp - 0xc8]
push dword [ebp - 0x80]
push dword [ebp - 0xa4]
push dword [ebp - 0xe0]
push edi
push dword [ebp - 0xd0]
push ecx
push esi
call fcn.004cf490
add esp, 0x34
cmp dword [ebp - 8], 0
jne 0x4e56be
cmp byte [ebp - 0xc8], 0
je 0x4e5781
cmp dword [ebp - 0x98], 0
mov esi, dword [ebp - 0x68]
je 0x4e573b
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x4e56e9
push dword [ebp - 0x90]
push ebx
push edi
push 0x1d
push esi
call fcn.004ab4a0
add esp, 0x14
mov edx, eax
jmp 0x4e571c
mov ebx, dword [ebp - 0xac]
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 [ebp - 0x90]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4e5784
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x104]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x4e5784
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4e5755
push dword [ebp - 0x80]
push ebx
push edi
push 0x20
push esi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5784
mov edx, dword [ebp - 0x80]
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], edi
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4e5787
mov esi, dword [ebp - 0x68]
mov edx, dword [ebp - 0x80]
mov edi, dword [ebp - 0x8c]
test edi, edi
je 0x4e57ab
push dword [ebp - 0x10c]
push dword [ebp - 0x7c]
push 0
push edx
push dword [ebp - 0x70]
push dword [ebp - 0x64]
call fcn.004ce490
add esp, 0x18
push 0xffffffffffffffff
push dword [ebp - 0xd0]
push dword [ebp - 0xe0]
push dword [ebp - 0x74]
push dword [ebp - 0x70]
push dword [ebp - 0x64]
call fcn.004d1b00
add esp, 0x18
cmp dword [ebp - 0xe8], 0
je 0x4e57f0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4e581b
push 0
push 0
push dword [ebp - 0x74]
push 0x87
push esi
call fcn.004ab4a0
add esp, 0x14
mov edx, dword [ebp - 0x74]
cmp edi, 1
jg 0x4e5801
cmp byte [ebp - 0xc8], 0
je 0x4e587e
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4e584f
push 0
push 0
push edx
push 0x7a
push esi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e587e
mov edx, dword [ebp - 0x74]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4e57f3
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x7a
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 esi, dword [ebp - 0x70]
test edi, edi
je 0x4e58a2
push dword [ebp - 0x10c]
push dword [ebp - 0x7c]
push dword [ebp - 0xa4]
push 0
push esi
push dword [ebp - 0x64]
call fcn.004ce490
add esp, 0x18
mov edi, dword [ebp - 0xa8]
xor eax, eax
push 0
cmp edi, 2
push 0
sete al
lea eax, [eax*2 + 4]
push eax
push dword [ebp - 0xd0]
push dword [ebp - 0xa4]
push dword [ebp - 0xe0]
push dword [ebp - 0x74]
push esi
push dword [ebp - 0x64]
call fcn.004c4950
add esp, 0x24
cmp dword [ebp - 0x8c], 0
je 0x4e5909
push dword [ebp - 0x10c]
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
push dword [ebp - 0x78]
push esi
push dword [ebp - 0x64]
call fcn.004ce400
add esp, 0x18
jmp 0x4e5909
mov edi, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x68]
test edx, edx
je 0x4e5965
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4e5930
push 0
push 1
push edx
push 0x52
push esi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5965
mov ebx, dword [ebp - 0xac]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 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 [ebp - 0x94]
test eax, eax
je 0x4e59c6
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x64]
cmp byte [eax + 8], 0x7f
jne 0x4e59b0
cmp byte [eax + 9], 2
jne 0x4e59b0
push dword [ebp - 0x78]
push dword [eax + 0x10]
call fcn.0049cf50
add esp, 8
test eax, eax
je 0x4e59aa
push ebx
push dword [ebp + 0x18]
push dword [ebp - 0x80]
push edi
push dword [ebp - 0x94]
push esi
call fcn.004c3e00
add esp, 0x18
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x4e5975
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0xa8]
cmp edi, 1
je 0x4e5add
cmp edi, 2
jne 0x4e5a1b
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4e59ff
push ebx
push esi
push ecx
call fcn.004b8740
add esp, 0xc
push dword [ebp - 0xec]
call fcn.004f7dc0
add esp, 4
jmp 0x4e5add
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
push dword [ebp - 0xec]
mov dword [ecx + ebx*4], eax
call fcn.004f7dc0
add esp, 4
jmp 0x4e5add
cmp dword [ebp - 0x98], 0
je 0x4e5a94
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4e5a3e
push ebx
push esi
push ecx
call fcn.004b8740
add esp, 0xc
jmp 0x4e5a47
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4e5a6b
mov edx, dword [ebp - 0x108]
push 0
push edx
push dword [ebp - 0xb0]
push 5
push esi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5add
mov edx, dword [ebp - 0xb0]
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 [ebp - 0x108]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edx
jmp 0x4e5acd
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4e5aae
push 0
push ebx
push 0
push 0xb
push esi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5add
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0xa0]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4e5afd
push edx
push esi
push ecx
call fcn.004b8740
add esp, 0xc
jmp 0x4e5b06
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x64]
cmp byte [eax + 0x12], 0
jne 0x4e5b2d
cmp dword [eax + 0x78], 0
jne 0x4e5b2d
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
jne 0x4e5b2d
cmp dword [eax + 0x70], ecx
je 0x4e5b2d
push eax
call fcn.00498ca0
add esp, 4
mov edx, dword [ebp - 0x11c]
test edx, edx
je 0x4e5bd6
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4e5b55
push 0
push 1
push edx
push 0x50
push esi
call fcn.004ab4a0
add esp, 0x14
jmp 0x4e5b84
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 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
push 1
push esi
call fcn.004f1f70
mov eax, dword [esi]
add esp, 8
cmp byte [eax + 0x51], 0
jne 0x4e5bd6
mov esi, dword [esi + 0x74]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x4e5bab
cmp dword [esi + 0x18], 0
je 0x4e5bb4
push esi
call fcn.004ffde0
add esp, 4
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
mov edi, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x120]
test ecx, ecx
je 0x4e5bf8
mov eax, dword [ebp - 0x124]
mov dword [ecx + 0xf0], eax
test edi, edi
je 0x4e5ca9
test ebx, ebx
je 0x4e5c54
cmp dword [ebx + 0x1f8], 0
je 0x4e5c1c
push edi
push ebx
call fcn.004ae410
add esp, 8
jmp 0x4e5ca9
cmp edi, dword [ebx + 0x14c]
jae 0x4e5c54
cmp edi, dword [ebx + 0x144]
jb 0x4e5c3c
mov eax, dword [ebx + 0x140]
mov dword [edi], eax
mov dword [ebx + 0x140], edi
jmp 0x4e5ca9
cmp edi, dword [ebx + 0x148]
jb 0x4e5c54
mov eax, dword [ebx + 0x138]
mov dword [edi], eax
mov dword [ebx + 0x138], edi
jmp 0x4e5ca9
cmp dword [0x73d660], 0
je 0x4e5c9f
mov eax, dword [0x75f6d8]
test eax, eax
je 0x4e5c70
push eax
call dword [0x73d6b0]
add esp, 4
push edi
call dword [0x73d68c]
sub dword [0x75f768], eax
dec dword [0x75f78c]
push edi
call dword [0x73d684]
mov eax, dword [0x75f6d8]
add esp, 8
test eax, eax
je 0x4e5ca9
push eax
call dword [0x73d6b8]
jmp 0x4e5ca6
push edi
call dword [0x73d684]
add esp, 4
push dword [ebp - 0xd8]
push ebx
call fcn.004e1d20
add esp, 8
test esi, esi
je 0x4e5cc6
push esi
push ebx
call fcn.004a5f90
add esp, 8
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4e5cda
push eax
push ebx
call fcn.004cb760
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005e980b
mov esp, ebp
pop ebp
ret