Function at 0x449290
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x598
xor eax, eax
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 8], eax
push ebx
mov eax, dword [eax + 0x30]
push esi
and eax, 0x300
push edi
mov dword [ebp - 0x30], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [eax + 0x20]
mov eax, dword [ecx + 0x80]
inc eax
mov dword [ebp - 4], edx
mov dword [ecx + 0x80], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0x24]
cmp eax, edx
je 0x44975a
mov ecx, dword [ebp - 4]
xor ebx, ebx
mov bl, byte [ecx]
mov edi, ebx
xor ebx, ebx
mov bx, word [edi*2 + 0x49c97c]
mov edi, ebx
and edi, 0x8000
inc ecx
test edi, edi
mov dword [ebp - 4], ecx
je 0x449344
test bh, 8
je 0x44932c
mov edx, dword [ebp - 8]
lea ecx, [ebp - 4]
push edx
mov edx, ebx
shr edx, 8
and edx, 0x7f
call fcn.0044d4d0
test bl, 8
je case.0x449d9d.192
mov eax, dword [ebp - 8]
mov edx, ebx
push eax
and edx, 0x7f
lea ecx, [ebp - 4]
call fcn.0044d4d0
jmp case.0x449d9d.192
test bh, 0x40
je 0x449353
and ebx, 7
add ecx, ebx
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
cmp ebx, 0x17
ja case.default.0x44935c
jmp dword [ebx*4 + 0x44d078]
mov al, byte [ecx]
shr eax, 3
and eax, 7
add eax, 2
inc ecx
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
mov al, byte [ecx]
shr eax, 3
and eax, 7
add eax, 3
inc ecx
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
mov ecx, dword [ebp - 8]
mov edx, 1
push ecx
lea ecx, [ebp - 4]
call fcn.0044d4d0
jmp 0x4495c3
xor eax, eax
mov al, byte [ecx]
shr eax, 7
inc eax
inc ecx
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
cmp ebx, 0x1a
mov dword [ebp - 4], ecx
ja case.default.0x44935c
cmp ebx, 6
je case.0x44acaa.6
cmp ebx, 7
jne 0x4493f1
cmp dword [ebp - 0x1c], edx
jne 0x449433
movsx edx, byte [ebx + 0x49cc04]
inc eax
add ecx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
cmp ebx, 0xc
jb 0x449433
jne 0x449400
mov edx, dword [ebp - 8]
push edx
xor edx, edx
jmp 0x449428
cmp ebx, 0xd
je 0x44941f
cmp ebx, 0xe
je 0x44941f
cmp ebx, 0xf
je 0x449414
cmp ebx, 0x10
jne 0x449433
mov eax, dword [ebp - 8]
mov edx, 3
push eax
jmp 0x449428
mov ecx, dword [ebp - 8]
mov edx, 1
push ecx
lea ecx, [ebp - 4]
call fcn.0044d4d0
mov ecx, dword [ebp - 4]
movsx edx, byte [ebx + 0x49cc04]
add ecx, edx
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
inc ecx
mov dword [ebp - 4], ecx
jmp case.0x44935c.14
cmp dword [ebp - 0x1c], edx
jne case.0x449d9d.192
dec eax
mov dword [ebp - 0x24], eax
jmp case.0x449d9d.192
cmp eax, 1
jne case.0x449d9d.192
mov eax, dword [ebp - 0x1c]
test eax, eax
jne case.0x449d9d.192
mov dword [ebp - 0x24], 0
jmp case.0x449d9d.192
cmp dword [ebp - 0x1c], edx
jne case.0x449d9d.192
inc eax
mov dword [ebp - 0x24], eax
jmp case.0x449d9d.192
mov eax, dword [ebp - 0x1c]
cmp eax, edx
je case.0x449d9d.192
dec eax
mov dword [ebp - 0x1c], eax
jmp case.0x449d9d.192
cmp eax, 1
jne case.0x44935c.10
cmp dword [ebp - 0x1c], edx
jne case.0x44935c.10
mov dword [ebp - 0x24], edx
jmp case.0x449d9d.192
inc dword [ebp - 0x1c]
jmp case.0x449d9d.192
mov ecx, dword [ebp - 0x1c]
cmp ecx, edx
je case.0x449d9d.192
dec ecx
mov dword [ebp - 0x1c], ecx
jne case.0x449d9d.192
cmp eax, 1
jne case.0x449d9d.192
mov dword [ebp - 0x24], 0
jmp case.0x449d9d.192
add ecx, 2
xor eax, eax
mov dword [ebp - 4], ecx
mov al, byte [ecx]
inc ecx
shl eax, 1
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
mov ecx, dword [ebp - 8]
xor edx, edx
push ecx
lea ecx, [ebp - 4]
call fcn.0044d4d0
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [ecx]
inc ecx
shl eax, 1
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
lea ecx, [ebp - 4]
push edx
mov edx, 1
call fcn.0044d4d0
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [ebp - 4]
shl eax, 1
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
inc ecx
xor eax, eax
mov dword [ebp - 4], ecx
mov al, byte [ecx]
inc ecx
shl eax, 1
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov eax, ebx
mov dword [ebp - 4], ecx
shr eax, 6
sub eax, 2
je 0x4495a7
dec eax
je case.0x44935c.3
mov eax, ebx
and eax, 0x1e
cmp al, 0x10
jne 0x449588
add ecx, 2
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
and ebx, 7
cmp ebx, 6
ja case.0x449d9d.192
mov ecx, dword [ebp - 8]
mov edx, ebx
push ecx
lea ecx, [ebp - 4]
call fcn.0044d4d0
jmp case.0x449d9d.192
test bl, 0x24
je case.0x44935c.3
mov edx, dword [ebp - 8]
lea ecx, [ebp - 4]
push edx
xor edx, edx
call fcn.0044d4d0
test bl, 4
jne case.0x44c7ef.7
mov ecx, dword [ebp - 4]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x78]
mov al, byte [ecx]
test edx, 0x20000000
je 0x4495fe
and eax, 0x7f
inc ecx
cmp eax, 3
mov dword [ebp - 4], ecx
ja case.0x449d9d.192
jmp dword [eax*4 + 0x44d0d8]
inc dword [ebp - 4]
inc dword [ebp - 4]
inc dword [ebp - 4]
inc dword [ebp - 4]
jmp case.0x449d9d.192
inc ecx
test al, 0x80
mov dword [ebp - 4], ecx
je case.0x449d9d.192
mov edx, ecx
inc edx
test al, 0x40
mov dword [ebp - 4], edx
je case.0x449d9d.192
inc edx
test al, 0x20
mov dword [ebp - 4], edx
je case.0x449d9d.192
mov eax, edx
inc eax
mov dword [ebp - 4], eax
jmp case.0x449d9d.192
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0x12
mov dword [ebp - 4], ecx
ja case.0x449d9d.192
xor ecx, ecx
mov cl, byte [eax + 0x44d0fc]
jmp dword [ecx*4 + 0x44d0e8]
lea ecx, [ebp - 4]
call fcn.0046b630
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
lea ecx, [ebp - 4]
push edx
xor edx, edx
call fcn.0044d4d0
jmp case.0x449d9d.192
mov eax, dword [ebp - 8]
mov edx, 6
push eax
lea ecx, [ebp - 4]
call fcn.0044d4d0
jmp case.0x449d9d.192
mov ecx, dword [ebp - 8]
mov edx, 1
push ecx
lea ecx, [ebp - 4]
call fcn.0044d4d0
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [ebp - 4]
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 6
mov dword [ebp - 4], ecx
jae 0x4496c8
add ecx, 2
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
cmp eax, 0xa
jae 0x4496e3
mov edx, dword [ebp - 8]
lea ecx, [ebp - 4]
push edx
mov edx, 2
call fcn.0044d4d0
jmp case.0x449d9d.192
cmp eax, 0xc
jae 0x4496f8
xor eax, eax
mov al, byte [ecx]
inc eax
inc ecx
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
jne case.default.0x44935c
mov eax, dword [ebp - 8]
xor edx, edx
push eax
lea ecx, [ebp - 4]
call fcn.0044d4d0
jmp case.0x449d9d.192
mov edi, dword [ebp - 8]
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [ebp - 4], ecx
push edi
mov edx, 0x4000
lea ecx, [ebp - 4]
call fcn.0044d4d0
cmp ebx, 0x10
jae case.0x44c7ef.7
push edi
mov edx, 0x4000
lea ecx, [ebp - 4]
call fcn.0044d4d0
jmp case.0x449d9d.192
push 0xa1
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
call fcn.00425880
add esp, 4
jmp case.0x449d9d.192
mov edi, dword [ebp - 0x88]
cmp edi, edx
je 0x4497ea
mov ecx, dword [ebp - 4]
push ecx
call edi
mov edx, dword [ebp - 4]
add esp, 4
add edx, eax
test eax, eax
mov dword [ebp - 4], edx
jne 0x449768
mov eax, dword [ebp - 4]
mov edx, 4
mov ecx, edx
mov dword [0x49d464], edx
mov dword [0x49d440], ecx
mov bl, byte [eax]
mov byte [ebp - 0x28], bl
and bl, 0x80
inc eax
test bl, bl
mov dword [ebp - 4], eax
jne 0x449d34
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov ecx, edx
mov dword [ebp - 0x14], edx
and ecx, 0x18
je 0x4498bb
cmp ecx, 8
je 0x4498b2
cmp ecx, 0x10
je 0x4498a9
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov ebx, ecx
mov dword [ebp - 4], eax
shr ecx, 3
and ebx, 7
and ecx, 7
inc ebx
inc ecx
jmp 0x4498c2
mov eax, dword [ebp - 8]
test byte [eax + 0x29], 4
je 0x44977d
cmp dword [0x4b49dc], edx
je 0x44977d
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 8]
push esi
push edx
mov bl, byte [ecx + 0x34]
call dword [0x4b49ec]
mov edi, eax
mov eax, dword [esi + 0x18]
add esp, 8
mov al, byte [eax + 0x34]
cmp bl, al
mov byte [ebp - 0x84], al
je 0x44985d
mov ebx, dword [ebp - 0x84]
test al, al
je 0x44984e
cmp al, 0x64
je 0x44984e
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
cmp al, byte [edx + 0x89]
je 0x44984e
mov eax, ebx
and eax, 0xff
push eax
push esi
call fcn.004817d0
add esp, 8
mov edx, ebx
mov ecx, esi
and edx, 0xff
call fcn.00466150
mov ecx, dword [esi + 4]
cmp edi, 0xfffffdfd
mov eax, dword [ecx + 0x20]
mov dword [ebp - 4], eax
jne 0x449894
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
cmp eax, ecx
je 0x4497fb
add eax, 0xfffffff4
lea edx, [ebp - 4]
push eax
mov ecx, esi
call fcn.0044d7c0
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 4]
mov dword [ecx + 0x20], edx
jmp 0x4497fb
cmp byte [eax], 0xff
jne 0x449780
inc eax
mov dword [ebp - 4], eax
mov dword [ecx + 0x20], eax
jmp 0x4497fb
mov ebx, 4
mov ecx, ebx
jmp 0x4498c2
mov ebx, 2
mov ecx, ebx
jmp 0x4498c2
mov ebx, 1
mov ecx, ebx
test byte [ebp - 0x28], 0x40
mov dword [ebp - 0x18], ecx
mov dword [0x49d440], ecx
mov dword [0x49d464], ebx
je 0x4498e0
mov edi, eax
add eax, ecx
mov dword [ebp - 4], eax
jmp 0x4498f0
and edx, 0x20
lea ecx, [ebp - 4]
or edx, 8
call fcn.00481840
mov edi, eax
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 4]
and edx, 0x20
or edx, 0x18
call fcn.00481840
mov esi, eax
mov eax, dword [ebp - 0x14]
and eax, 0x1f
cmp eax, 0x1f
ja case.0x449912.1
jmp dword [eax*4 + 0x44d110]
mov al, byte [edi]
mov byte [esi], al
jmp case.0x44c7ef.7
xor eax, eax
xor ecx, ecx
mov al, byte [esi]
mov cl, byte [edi]
sub eax, ecx
mov dword [ebp - 0xc], eax
jmp case.0x44c7ef.7
mov dl, byte [edi]
mov al, byte [esi]
add al, dl
mov byte [esi], al
jmp case.0x44c7ef.7
mov al, byte [edi]
mov cl, byte [esi]
sub cl, al
mov byte [esi], cl
jmp case.0x44c7ef.7
mov al, byte [esi]
imul byte [edi]
mov byte [esi], al
jmp case.0x44c7ef.7
mov cl, byte [edi]
test cl, cl
jne 0x44996d
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x78]
jmp 0x449be2
xor eax, eax
and ecx, 0xff
mov al, byte [esi]
cdq
idiv ecx
mov byte [esi], al
jmp case.0x44c7ef.7
mov al, byte [edi]
mov byte [esi], al
mov cl, byte [edi + 1]
mov byte [esi + 1], cl
jmp case.0x44c7ef.7
xor edx, edx
xor eax, eax
mov dh, byte [esi]
mov ah, byte [edi]
mov dl, byte [esi + 1]
mov al, byte [edi + 1]
sub edx, eax
mov dword [ebp - 0xc], edx
jmp case.0x44c7ef.7
xor eax, eax
xor ecx, ecx
mov ah, byte [edi]
mov ch, byte [esi]
mov al, byte [edi + 1]
mov cl, byte [esi + 1]
add eax, ecx
xor edx, edx
mov dl, ah
mov byte [esi + 1], al
mov byte [esi], dl
jmp case.0x44c7ef.7
xor eax, eax
xor ecx, ecx
mov ah, byte [edi]
mov ch, byte [esi]
mov al, byte [edi + 1]
mov cl, byte [esi + 1]
sub ecx, eax
xor edx, edx
mov eax, ecx
mov dl, ah
mov byte [esi + 1], al
mov byte [esi], dl
jmp case.0x44c7ef.7
xor eax, eax
xor ecx, ecx
mov ah, byte [edi]
mov ch, byte [esi]
mov al, byte [edi + 1]
mov cl, byte [esi + 1]
imul eax, ecx
xor edx, edx
mov byte [esi + 1], al
mov dl, ah
mov byte [esi], dl
jmp case.0x44c7ef.7
xor ecx, ecx
mov ch, byte [edi]
mov cl, byte [edi + 1]
test cx, cx
jne 0x449a40
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
test dword [ecx + 0x78], 0x1000000
je case.0x44c7ef.7
test byte [0x49d26f], 1
je case.0x44c7ef.7
push 0x30
call fcn.00425880
add esp, 4
jmp case.0x44c7ef.7
xor eax, eax
and ecx, 0xffff
mov ah, byte [esi]
mov al, byte [esi + 1]
cdq
idiv ecx
xor edx, edx
mov dl, ah
mov byte [esi + 1], al
mov byte [esi], dl
jmp case.0x44c7ef.7
mov al, byte [edi]
mov byte [esi], al
mov cl, byte [edi + 1]
inc esi
inc edi
mov byte [esi], cl
mov dl, byte [edi + 1]
inc esi
inc edi
mov byte [esi], dl
mov al, byte [edi + 1]
mov byte [esi + 1], al
jmp case.0x44c7ef.7
mov cl, byte [esi]
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
mov byte [ebp - 0x69], cl
mov cl, byte [esi + 3]
mov byte [ebp - 0x6a], dl
mov dl, byte [edi]
mov byte [ebp - 0x6b], al
mov al, byte [edi + 1]
mov byte [ebp - 0x6c], cl
mov cl, byte [edi + 2]
mov byte [ebp - 0x4d], dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x4e], al
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 0x4f], cl
mov byte [ebp - 0x50], dl
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x50]
cmp eax, ecx
je case.0x44c7ef.7
mov dword [ebp - 0xc], 1
jae case.0x44c7ef.7
mov dword [ebp - 0xc], 0xffffffff
jmp case.0x44c7ef.7
mov al, byte [esi]
mov cl, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [ebp - 0x55], al
mov al, byte [esi + 3]
mov byte [ebp - 0x56], cl
mov cl, byte [edi]
mov byte [ebp - 0x57], dl
mov dl, byte [edi + 1]
mov byte [ebp - 0x58], al
mov al, byte [edi + 2]
mov byte [ebp - 0x41], cl
mov cl, byte [edi + 3]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x58]
mov byte [ebp - 0x43], al
mov byte [ebp - 0x44], cl
mov eax, dword [ebp - 0x44]
add eax, edx
mov dword [ebp - 0x14], eax
mov byte [esi + 2], ah
mov cx, word [ebp - 0x12]
mov byte [esi + 3], al
mov byte [esi], ch
mov byte [esi + 1], cl
jmp case.0x44c7ef.7
mov cl, byte [esi]
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
mov byte [ebp - 0x61], cl
mov cl, byte [esi + 3]
mov byte [ebp - 0x62], dl
mov dl, byte [edi]
mov byte [ebp - 0x63], al
mov al, byte [edi + 1]
mov byte [ebp - 0x64], cl
mov cl, byte [edi + 2]
mov byte [ebp - 0x49], dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x4a], al
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x4b], cl
mov byte [ebp - 0x4c], dl
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
mov byte [esi + 2], ah
mov cx, word [ebp - 0x12]
mov byte [esi + 3], al
mov byte [esi], ch
mov byte [esi + 1], cl
jmp case.0x44c7ef.7
mov al, byte [esi]
mov cl, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [ebp - 0x51], al
mov al, byte [esi + 3]
mov byte [ebp - 0x52], cl
mov cl, byte [edi]
mov byte [ebp - 0x53], dl
mov dl, byte [edi + 1]
mov byte [ebp - 0x54], al
mov al, byte [edi + 2]
mov byte [ebp - 0x35], cl
mov cl, byte [edi + 3]
mov byte [ebp - 0x36], dl
mov byte [ebp - 0x37], al
mov byte [ebp - 0x38], cl
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
mov byte [esi + 2], ah
mov cx, word [ebp - 0x12]
mov byte [esi + 3], al
mov byte [esi], ch
mov byte [esi + 1], cl
jmp case.0x44c7ef.7
mov dl, byte [edi]
mov al, byte [edi + 1]
mov cl, byte [edi + 2]
mov byte [ebp - 0x71], dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x72], al
mov byte [ebp - 0x73], cl
mov byte [ebp - 0x74], dl
mov ecx, dword [ebp - 0x74]
test ecx, ecx
jne 0x449c09
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x78]
test eax, 0x1000000
je case.0x44c7ef.7
test byte [0x49d26f], 1
je case.0x44c7ef.7
push 0x30
call fcn.00425880
add esp, 4
jmp case.0x44c7ef.7
mov dl, byte [esi]
mov al, byte [esi + 1]
mov byte [ebp - 0x5d], dl
mov dl, byte [esi + 2]
mov byte [ebp - 0x5e], al
mov al, byte [esi + 3]
mov byte [ebp - 0x5f], dl
mov byte [ebp - 0x60], al
mov eax, dword [ebp - 0x60]
xor edx, edx
div ecx
mov dword [ebp - 0x14], eax
mov byte [esi + 2], ah
mov cx, word [ebp - 0x12]
mov byte [esi + 3], al
mov byte [esi], ch
mov byte [esi + 1], cl
jmp case.0x44c7ef.7
mov eax, dword [ebp - 0x18]
sub ebx, eax
push ebx
push eax
push esi
push edi
call fcn.004712b0
add esp, 0x10
jmp case.0x44c7ef.7
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
push esi
push edi
call fcn.00471390
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp case.0x44c7ef.7
mov eax, dword [ebp - 0x18]
mov edx, ebx
sub edx, eax
add esi, ebx
push edx
push eax
add edi, eax
push esi
push edi
call fcn.004714d0
add esp, 0x10
jmp case.0x44c7ef.7
mov eax, dword [ebp - 0x18]
mov ecx, ebx
sub ecx, eax
add esi, ebx
push ecx
push eax
add edi, eax
push esi
push edi
call fcn.004715c0
add esp, 0x10
jmp case.0x44c7ef.7
mov edx, dword [ebp - 0x10]
lea eax, [edx + 0x38]
push eax
mov eax, dword [ebp - 0x18]
add edi, eax
push eax
push edi
call fcn.00483450
mov eax, dword [ebp - 0x10]
add esi, ebx
add eax, 0x38
push eax
push ebx
push esi
call fcn.00483530
mov al, byte [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
add esp, 0x18
test al, 1
lea eax, [ecx + 0x38]
push eax
je 0x449d04
call fcn.0047ba50
add esp, 4
test eax, eax
je 0x449d0c
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
test dword [eax + 0x78], 0x1000000
je 0x449d0c
test byte [0x49d26f], 1
je 0x449d0c
push 0x30
call fcn.00425880
jmp 0x449d09
call fcn.0047b920
add esp, 4
mov edx, dword [ebp - 0x10]
lea eax, [edx + 0x38]
push eax
push ebx
push esi
call fcn.00483570
add esp, 0xc
jmp case.0x44c7ef.7
push 0xa1
call fcn.00425880
add esp, 4
jmp case.0x44c7ef.7
mov edi, dword [ebp - 0x28]
xor ebx, ebx
and edi, 0xff
mov bx, word [edi*2 + 0x49c97c]
test bh, 0x80
je 0x449d91
test bh, 8
je 0x449d71
mov edx, dword [ebp - 8]
mov eax, ebx
shr eax, 8
and eax, 0x7f
lea ecx, [ebp - 4]
push eax
call fcn.0046abc0
mov ecx, dword [0x49d440]
mov edx, dword [0x49d464]
test bl, 8
je 0x449d91
mov edx, dword [ebp - 8]
and ebx, 0x7f
push ebx
lea ecx, [ebp - 4]
call fcn.0046abc0
mov ecx, dword [0x49d440]
mov edx, dword [0x49d464]
lea eax, [edi - 0x80]
cmp eax, 0x7e
ja case.default.0x44acaa
jmp dword [eax*4 + 0x44d190]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
test dword [edx + 0x78], 0x4000000
je 0x449ecb
mov eax, dword [0x49d458]
mov ecx, eax
and ecx, 0xd2
cmp cl, 0x10
mov ecx, dword [0x49d47c]
jne 0x449df0
test cl, 0xfe
jne 0x449df0
mov edx, dword [ebp - 8]
push edx
push 0x49d438
call fcn.0044dbb0
mov ecx, dword [0x49d47c]
mov eax, dword [0x49d458]
add esp, 8
mov edi, dword [ebp - 8]
mov edx, dword [edi + 4]
test dword [edx + 0x78], 0x40000000
je 0x449e7e
cmp al, 0xc
je 0x449e10
mov edx, eax
and edx, 0xdf
cmp dl, 0x10
jne 0x449e3b
cmp cl, 0xc
je 0x449e22
mov edx, ecx
and edx, 0xdf
cmp dl, 0x10
jne 0x449e3b
push edi
push 0x49d438
call fcn.0044dbb0
mov ecx, dword [0x49d47c]
mov eax, dword [0x49d458]
add esp, 8
mov edx, eax
and edx, 0xdf
cmp dl, 0x12
jne 0x449e5d
mov edx, ecx
and edx, 0xdf
cmp dl, 0x12
jne 0x449e5d
or ah, 4
mov dword [0x49d458], eax
mov edx, eax
and edx, 0xd2
cmp dl, 0x10
jne 0x449edc
and ecx, 0xd2
cmp cl, dl
jne 0x449edc
or ah, 4
mov dword [0x49d458], eax
jmp 0x449edc
mov edi, eax
and edi, 0xff
cmp edi, 0xc
je 0x449e98
mov edx, eax
and edx, 0xdf
cmp dl, 0x10
jne 0x449edc
cmp cl, 0xc
je 0x449eaa
mov edx, ecx
and edx, 0xdf
cmp dl, 0x10
jne 0x449edc
mov edx, dword [0x49d448]
mov ebx, dword [0x49d46c]
cmp edx, ebx
jg 0x449ec5
jge 0x449edc
cmp eax, ecx
jne 0x449edc
cmp edi, 0xc
jne 0x449edc
mov eax, dword [ebp - 8]
push eax
jmp 0x449ecf
mov ecx, dword [ebp - 8]
push ecx
push 0x49d438
call fcn.0044dbb0
add esp, 8
lea eax, [esi + 0x38]
mov edx, 0x49d45c
push eax
mov ecx, 0x49d438
call fcn.00469240
jmp case.0x449d9d.192
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
test dword [eax + 0x78], 0x8000000
je case.0x449d9d.131
mov edi, dword [0x49d47c]
mov eax, edi
and eax, 0xfd
cmp al, 0xc
jne 0x44a02b
cmp ecx, edx
ja 0x44a02b
mov eax, dword [0x49d44c]
cmp eax, 0x14
mov eax, dword [0x49d458]
jne 0x44a030
and eax, 0x10f
jne 0x449f5c
mov ecx, dword [0x49d448]
mov edx, dword [0x49d444]
lea eax, [esi + 0x38]
push eax
push 0x14
push ecx
push edx
call fcn.004735f0
add esp, 0x10
jmp 0x449f8b
cmp eax, 2
jne 0x449f7e
mov ecx, dword [0x49d444]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d448]
push 0x14
push eax
push ecx
call fcn.004735c0
add esp, 0x10
jmp 0x449f8b
push 0xa1
call fcn.00425880
add esp, 4
test byte [0x49d47c], 2
lea eax, [esi + 0x38]
push eax
je 0x449fba
mov edx, dword [0x49d470]
mov ecx, dword [0x49d464]
mov eax, dword [0x49d46c]
push edx
lea edx, [ebp + ecx - 0xb0]
push eax
push edx
call fcn.004752e0
jmp 0x449fda
mov eax, dword [0x49d470]
mov edx, dword [0x49d464]
mov ecx, dword [0x49d46c]
push eax
lea eax, [ebp + edx - 0xb0]
push ecx
push eax
call fcn.00475300
mov edx, dword [0x49d470]
mov edi, dword [0x49d47c]
lea ecx, [ebp - 0xb0]
mov dword [0x49d44c], edx
mov edx, dword [0x49d464]
mov dword [0x49d438], ecx
mov ecx, dword [0x49d46c]
mov eax, edi
mov dword [0x49d448], ecx
mov ecx, edx
lea ebx, [ebp + edx - 0xb0]
add esp, 0x10
mov dword [0x49d458], eax
mov dword [0x49d440], ecx
mov dword [0x49d444], ebx
jmp 0x44a030
mov eax, dword [0x49d458]
mov ebx, edi
and ebx, 0xdf
cmp bl, 0x12
jne 0x44a1de
cmp ecx, edx
ja 0x44a1de
mov ebx, eax
and ebx, 0xdf
cmp bl, 0x12
jne 0x44a1de
mov ebx, dword [0x49d44c]
mov edi, 0x14
cmp ebx, edi
jne 0x44a1de
cmp dword [0x49d470], edi
jne 0x44a1de
mov edi, dword [ebp - 8]
test byte [edi + 0x2a], 3
je 0x44a1e1
mov esi, dword [0x49d45c]
mov ecx, edx
mov ebx, ecx
lea edi, [ebp - 0xd8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 4]
test dword [ecx + 0x78], 0x40000000
je 0x44a0d3
test byte [0x49d47c], 0x20
je 0x44a0d3
mov ecx, dword [0x49d46c]
mov bl, byte [ebp + ecx - 0xd9]
lea ecx, [ebp + ecx - 0xd9]
or bl, 0xf0
mov byte [ecx], bl
lea ecx, [ebp - 0xd8]
lea edx, [ebp + edx - 0xd8]
and eax, 0x10f
mov dword [0x49d45c], ecx
mov dword [0x49d468], edx
jne 0x44a114
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x49d448]
mov edx, dword [0x49d444]
add eax, 0x38
push eax
push 0x14
push ecx
push edx
call fcn.004735f0
add esp, 0x10
jmp 0x44a147
cmp eax, 2
jne 0x44a13a
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x49d448]
mov edx, dword [0x49d444]
add eax, 0x38
push eax
push 0x14
push ecx
push edx
call fcn.004735c0
add esp, 0x10
jmp 0x44a147
push 0xa1
call fcn.00425880
add esp, 4
test byte [0x49d47c], 0x20
mov eax, fcn.004737f0
jne 0x44a15a
mov eax, fcn.004737c0
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x49d470]
lea esi, [ecx + 0x38]
mov ecx, dword [0x49d46c]
push esi
push edx
mov edx, dword [0x49d464]
push ecx
lea ecx, [ebp + edx - 0xb0]
push ecx
call eax
mov eax, dword [0x49d47c]
mov ecx, dword [0x49d470]
lea edx, [ebp - 0xb0]
mov dword [0x49d458], eax
mov eax, dword [0x49d464]
mov dword [0x49d438], edx
mov edx, dword [0x49d46c]
add esp, 0x10
mov dword [0x49d440], eax
mov dword [0x49d44c], ecx
mov dword [0x49d448], edx
lea eax, [ebp + eax - 0xb0]
push esi
mov edx, 0x49d45c
mov ecx, 0x49d438
mov dword [0x49d444], eax
call fcn.00469480
mov dword [ebp - 0xc], eax
jmp case.0x44c7ef.7
mov edi, dword [ebp - 8]
mov ebx, dword [edi + 4]
test byte [ebx + 0x7b], 0x40
jne 0x44a2ab
test dword [0x49d47c], 0x10f
jne 0x44a2ab
cmp ecx, 1
jne 0x44a2ab
mov ebx, eax
and ebx, 0xdf
cmp bl, 0x12
jne 0x44a2ab
test byte [0x49d47c], 0x20
je 0x44a2ab
cmp dword [0x49d44c], 0x14
jne 0x44a2ab
cmp dword [0x49d470], 0x14
jne 0x44a2ab
mov ebx, dword [ebp - 4]
mov bl, byte [ebx]
cmp bl, 0xc4
je 0x44a246
cmp bl, 0xc5
jne 0x44a2ab
mov ecx, dword [0x49d438]
xor eax, eax
mov bl, byte [ecx]
lea ecx, [edx - 1]
and bl, 0xcf
test ecx, ecx
mov byte [ebp - 0x29], bl
jbe 0x44a27c
mov ebx, ecx
mov eax, 0xf0f0f0f0
lea edi, [ebp - 0xb0]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
mov bl, byte [ebp - 0x29]
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [edx - 1]
push edx
push edx
mov edx, dword [0x49d45c]
mov byte [ebp + eax - 0xb0], bl
lea eax, [ebp - 0xb0]
push edx
push eax
call fcn.00470da0
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
mov edi, dword [ebp - 8]
mov ebx, dword [edi + 4]
mov ebx, dword [ebx + 0x78]
test ebx, 0x8000000
je 0x44a625
test ebx, 0x40000000
je 0x44a356
mov ebx, dword [0x49d47c]
mov ecx, eax
and ecx, 0xfd
cmp cl, 0xc
jne 0x44a32f
mov edx, ebx
and edx, 0xfd
cmp dl, 0xc
jne 0x44a32f
or ah, 4
test al, 2
mov dword [0x49d458], eax
jne 0x44a30e
push edi
push 0x49d438
call fcn.0044dbb0
mov eax, dword [0x49d458]
mov ebx, dword [0x49d47c]
add esp, 8
test bl, 2
jne 0x44a3cb
push edi
push 0x49d45c
call fcn.0044dbb0
mov eax, dword [0x49d458]
add esp, 8
jmp 0x44a3c5
mov ecx, eax
and ecx, 0xdf
cmp cl, 0x12
jne 0x44a3cb
mov edx, ebx
and edx, 0xdf
cmp dl, cl
jne 0x44a3cb
or ah, 4
mov dword [0x49d458], eax
jmp 0x44a3cb
mov ebx, eax
and ebx, 0xfd
cmp bl, 0xc
jne 0x44a3c5
mov ebx, dword [0x49d47c]
and ebx, 0xfd
cmp bl, 0xc
jne 0x44a3c5
mov ebx, dword [0x49d47c]
xor ebx, eax
test bl, 2
je 0x44a3a1
push edi
push 0x49d438
call fcn.0044dbb0
push edi
push 0x49d45c
call fcn.0044dbb0
mov eax, dword [0x49d458]
add esp, 0x10
jmp 0x44a3c5
mov eax, dword [0x49d458]
cmp ecx, edx
jne 0x44a3c5
test al, 2
jne 0x44a3bd
mov ecx, dword [ebp - 4]
mov cl, byte [ecx]
cmp cl, 0xc4
je 0x44a3bd
cmp cl, 0xc5
jne 0x44a3c5
or ah, 2
mov dword [0x49d458], eax
mov ebx, dword [0x49d47c]
mov edx, dword [0x49d448]
mov ecx, dword [0x49d46c]
cmp edx, ecx
jne 0x44a5c4
mov edx, dword [0x49d44c]
mov ecx, 0x14
cmp edx, ecx
jne 0x44a5c4
cmp dword [0x49d470], ecx
jne 0x44a5c4
mov ecx, eax
and ecx, 0xdf
cmp ecx, 0x12
jne 0x44a418
mov edx, ebx
and edx, 0xdf
cmp dl, 0x10
je 0x44a464
cmp ecx, 0x10
jne 0x44a43a
mov edx, ebx
and edx, 0xdf
cmp dl, 0x12
je 0x44a464
cmp ecx, ecx
jne 0x44a43a
mov edx, ebx
and edx, 0xdf
cmp dl, cl
je 0x44a464
cmp ecx, 0x12
jne 0x44a5c4
mov ecx, ebx
and ecx, 0xdf
cmp cl, 0x12
jne 0x44a5c4
mov edx, dword [edi + 4]
test dword [edx + 0x78], 0x40000000
je 0x44a5c4
mov ecx, dword [0x49d448]
lea ebx, [ecx + 1]
test bl, 1
je 0x44a47a
shr ebx, 1
inc ebx
mov dword [ebp - 0x18], ebx
jmp 0x44a47f
shr ebx, 1
mov dword [ebp - 0x18], ebx
and eax, 0x10f
lea edi, [esi + 0x38]
cmp eax, 2
mov eax, dword [0x49d444]
push edi
push 0x14
push ecx
push eax
jne 0x44a4c6
call fcn.004735c0
mov ecx, dword [0x49d44c]
mov edx, dword [0x49d448]
push edi
lea ebx, [ebp + ebx - 0xb0]
push ecx
push edx
push ebx
call fcn.004752e0
add esp, 0x20
mov dword [0x49d458], 0xe
jmp 0x44a4f4
call fcn.004735f0
mov ecx, dword [0x49d44c]
mov edx, dword [0x49d448]
push edi
lea ebx, [ebp + ebx - 0xb0]
push ecx
push edx
push ebx
call fcn.00475300
add esp, 0x20
mov dword [0x49d458], 0xc
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xb0]
mov dword [0x49d438], eax
mov eax, dword [0x49d46c]
mov dword [0x49d444], ebx
mov dword [0x49d440], ecx
lea ebx, [eax + 1]
test bl, 1
je 0x44a520
shr ebx, 1
inc ebx
jmp 0x44a522
shr ebx, 1
mov edx, dword [0x49d47c]
mov ecx, dword [0x49d470]
and edx, 0x10f
push edi
cmp edx, 2
mov edx, dword [0x49d468]
push ecx
push eax
push edx
jne 0x44a576
call fcn.004735c0
mov ecx, dword [0x49d470]
mov edx, dword [0x49d46c]
push edi
lea eax, [ebp + ebx - 0xd8]
push ecx
push edx
push eax
mov dword [ebp - 0x14], eax
call fcn.004752e0
add esp, 0x20
mov dword [0x49d47c], 0xe
jmp 0x44a5a7
call fcn.004735f0
mov ecx, dword [0x49d470]
mov edx, dword [0x49d46c]
push edi
lea eax, [ebp + ebx - 0xd8]
push ecx
push edx
push eax
mov dword [ebp - 0x14], eax
call fcn.00475300
add esp, 0x20
mov dword [0x49d47c], 0xc
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xd8]
mov dword [0x49d45c], eax
mov dword [0x49d464], ebx
mov dword [0x49d468], ecx
push edi
jmp 0x44a642
mov ecx, eax
and ecx, 0xdf
cmp ecx, 0x12
jne 0x44a5de
mov edx, ebx
and edx, 0xdf
cmp dl, 0x10
je 0x44a61b
cmp ecx, 0x10
jne 0x44a600
mov edx, ebx
and edx, 0xdf
cmp dl, 0x12
je 0x44a61b
cmp ecx, ecx
jne 0x44a600
mov edx, ebx
and edx, 0xdf
cmp dl, cl
je 0x44a61b
cmp ecx, 0x12
jne 0x44a63e
and ebx, 0xdf
cmp bl, cl
jne 0x44a63e
mov ecx, dword [edi + 4]
test dword [ecx + 0x78], 0x40000000
je 0x44a63e
or ah, 4
mov dword [0x49d458], eax
jmp 0x44a63e
push edi
push 0x49d438
call fcn.0044dbb0
push edi
push 0x49d45c
call fcn.0044dbb0
add esp, 0x10
lea eax, [esi + 0x38]
push eax
mov edx, 0x49d45c
mov ecx, 0x49d438
call fcn.00469480
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [0x49d43c]
mov dword [0x49d43c], 0
add eax, ecx
mov ecx, dword [0x49d41c]
mov dword [ebp - 0x14], eax
mov edx, dword [ecx + 8]
test byte [edx + 0x30], 3
jne 0x44a68d
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
jmp 0x44a693
mov edx, dword [ecx + 0x18]
mov ecx, dword [edx + 0x14]
mov dl, byte [ebp - 0x11]
mov byte [ecx + 0xa], ah
mov byte [ecx + 8], dl
mov dl, byte [ebp - 0x12]
mov byte [ecx + 9], dl
mov byte [ecx + 0xb], al
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [0x49d460]
mov dword [0x49d460], 0
add eax, ecx
mov ecx, dword [0x49d41c]
mov dword [ebp - 0x14], eax
mov edx, dword [ecx + 8]
test byte [edx + 0x30], 3
jne 0x44a6de
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
jmp 0x44a6e4
mov edx, dword [ecx + 0x18]
mov ecx, dword [edx + 0x14]
mov dl, byte [ebp - 0x11]
mov byte [ecx + 0x12], ah
mov byte [ecx + 0x10], dl
mov dl, byte [ebp - 0x12]
mov byte [ecx + 0x11], dl
mov byte [ecx + 0x13], al
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
test dword [edx + 0x78], 0x2000000
je case.0x44c7ef.7
mov ecx, dword [0x49d43c]
test ecx, ecx
jl 0x44a728
cmp ecx, eax
jle case.0x44c7ef.7
push 0x99
call fcn.00425880
add esp, 4
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
test dword [edx + 0x78], 0x2000000
je case.0x44c7ef.7
mov ecx, dword [0x49d460]
test ecx, ecx
jl 0x44a728
jmp 0x44a720
mov eax, dword [ebp - 8]
push eax
push 0x49d438
call fcn.0044dbb0
add esp, 8
mov ebx, dword [ebp - 8]
push ebx
push 0x49d45c
call fcn.0044dbb0
mov ecx, dword [ebx + 4]
add esp, 8
test dword [ecx + 0x78], 0x4000000
je 0x44a79c
mov eax, dword [0x49d458]
or ah, 4
mov dword [0x49d458], eax
lea eax, [esi + 0x38]
push 0
push eax
push 0x49d45c
mov edx, 0x49d438
mov ecx, edi
call fcn.00469680
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push edx
push 0x49d438
call fcn.0044dbb0
add esp, 8
mov eax, dword [ebp - 0x20]
lea edx, [esi + 0x38]
push eax
mov ecx, 0x49d438
call fcn.00468c20
jmp case.0x449d9d.192
mov ecx, dword [ebp - 8]
push ecx
push 0x49d45c
call fcn.0044dbb0
mov edx, dword [ebp - 0x20]
add esp, 8
mov ecx, 0x49d45c
push edx
lea edx, [esi + 0x38]
call fcn.00468fc0
jmp case.0x449d9d.192
mov eax, dword [ebp - 0x20]
lea edx, [esi + 0x38]
push eax
mov ecx, 0x49d438
call fcn.00468fc0
jmp case.0x449d9d.192
mov ecx, dword [0x49d470]
lea eax, [esi + 0x38]
push eax
push ecx
call fcn.00475980
add esp, 8
test byte [esi + 0x70], 1
je 0x44a859
mov eax, dword [0x49d470]
lea ebx, [esi + 0x38]
mov edx, 0x26
push ebx
push eax
sub edx, eax
sub edx, dword [0x49d46c]
push edx
call fcn.00475ca0
add esp, 0xc
test eax, eax
jne 0x44a868
lea ebx, [esi + 0x38]
mov ecx, 0x49d45c
mov edx, ebx
call fcn.00469090
cmp byte [ebp - 0x28], 0x95
jne case.0x44c7ef.7
push ebx
call fcn.004759e0
add esp, 4
jmp case.0x449d9d.192
mov eax, dword [0x49d43c]
mov ecx, dword [0x49d460]
mov dword [0x49d43c], ecx
mov dword [0x49d460], eax
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
call fcn.004771d0
add esp, 4
jmp case.0x449d9d.192
mov edi, dword [ebp - 8]
push 1
mov edx, edi
lea ecx, [ebp - 4]
call fcn.0046abc0
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x78]
test eax, 0x4000000
je 0x44a8e7
mov ecx, dword [0x49d458]
mov edx, ecx
and edx, 0xfd
cmp dl, 0xc
jne 0x44a8e0
test cl, 2
je 0x44a8e7
test eax, 0x40000000
jne 0x44a8f5
push edi
push 0x49d438
call fcn.0044dbb0
add esp, 8
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, 0x49d438
mov ebx, eax
call fcn.00468a50
mov cl, byte [ebp - 0x28]
dec eax
imul eax, ebx
test cl, 2
jne 0x44a93b
add dword [0x49d43c], eax
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
add dword [0x49d43c], eax
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
add dword [0x49d460], eax
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
call fcn.00475e50
add esp, 4
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
call fcn.00475e80
add esp, 4
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
call fcn.00476490
add esp, 4
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
call fcn.00476a70
add esp, 4
test eax, eax
je case.0x44c7ef.7
test byte [esi + 0x70], 1
jne case.0x44c7ef.7
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
test dword [ecx + 0x78], 0x1000000
je case.0x44c7ef.7
test byte [0x49d26f], 1
je case.0x44c7ef.7
push 0x30
call fcn.00425880
add esp, 4
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
and eax, 7
cmp al, 3
je 0x44aa02
test byte [0x49d47c], 0x20
mov eax, fcn.0046a940
jne 0x44a9e8
mov eax, fcn.0046a8f0
push edx
push ecx
mov ecx, dword [0x49d45c]
mov edx, dword [0x49d438]
push ecx
push edx
call eax
add esp, 0x10
jmp case.0x449d9d.192
cmp ecx, 1
jne 0x44aa27
mov ecx, dword [0x49d438]
xor eax, eax
mov al, byte [ecx]
push eax
push edx
mov edx, dword [0x49d45c]
push edx
call fcn.0046a9d0
add esp, 0xc
jmp case.0x449d9d.192
mov eax, dword [0x49d45c]
push edx
push ecx
mov ecx, dword [0x49d438]
push eax
push ecx
call fcn.0046a990
add esp, 0x10
jmp case.0x449d9d.192
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x14], 0x49d45c
mov al, byte [ecx]
mov byte [ebp - 0x80], al
and al, 0x40
inc ecx
test al, al
mov dword [ebp - 4], ecx
jne 0x44aa63
mov dword [ebp - 0x14], 0x49d438
mov edi, dword [ebp - 0x80]
lea ecx, [ebp - 4]
and edi, 0xff
mov edx, edi
shr edx, 2
and edx, 0x30
call fcn.00481840
mov ebx, eax
mov eax, edi
shr eax, 3
and eax, 7
xor cl, cl
cmp eax, 7
mov dword [ebp - 0x18], 0
ja case.default.0x44aa94
jmp dword [eax*4 + 0x44d38c]
mov cl, byte [ebx]
inc ebx
mov dl, byte [ebx]
or cl, dl
inc ebx
mov dl, byte [ebx]
or cl, dl
inc ebx
mov al, byte [ebx]
or cl, al
inc ebx
test cl, cl
je case.0x44aa94.3
push 0x99
call fcn.00425880
add esp, 4
mov dl, byte [ebx]
inc ebx
mov byte [ebp - 0x15], dl
mov al, byte [ebx]
inc ebx
mov byte [ebp - 0x16], al
mov cl, byte [ebx]
inc ebx
mov byte [ebp - 0x17], cl
mov dl, byte [ebx]
mov byte [ebp - 0x18], dl
mov eax, dword [ebp - 0x18]
and edi, 7
inc edi
dec eax
imul edi, eax
mov eax, dword [ebp - 0x14]
add dword [eax + 4], edi
jmp case.0x449d9d.192
test byte [0x49d47c], 0x20
je 0x44aafe
mov eax, fcn.0046aa80
jmp 0x44a9e8
mov eax, fcn.0046aa10
jmp 0x44a9e8
mov ebx, dword [0x49d458]
mov eax, ebx
and eax, 7
cmp al, 3
jne 0x44ab1e
mov edi, 1
jmp 0x44ab33
mov eax, dword [0x49d47c]
and eax, 7
sub al, 3
neg al
sbb eax, eax
and al, 0xfe
add eax, 2
mov edi, eax
mov eax, dword [ebp - 8]
test byte [eax + 0x2c], 0x20
je 0x44ab62
lea eax, [esi + 0x38]
push eax
push edx
mov edx, dword [0x49d438]
push ecx
mov ecx, dword [0x49d45c]
push ecx
push edx
call dword [edi*4 + 0x49cbac]
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
test bl, 0x20
je 0x44ab6a
add edi, 3
mov ebx, dword [eax + 0x20]
test ebx, ebx
je 0x44ab96
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d45c]
push edx
push ecx
mov ecx, dword [0x49d438]
push eax
push ecx
call dword [edi*4 + 0x49cb94]
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d438]
push edx
mov edx, dword [0x49d45c]
push ecx
push edx
push eax
call dword [edi*4 + 0x49cb7c]
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov ebx, dword [esi + 0x68]
lea eax, [ebx + 0x24]
mov dword [esi + 0x68], eax
mov dword [eax - 0xc], 0xffffffff
mov ecx, dword [esi + 0x68]
mov dword [ecx - 8], 2
mov edx, dword [esi + 0x68]
cmp edx, dword [0x49d430]
jb 0x44abe9
push 0x9a
call fcn.00425880
add esp, 4
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax - 0x68]
mov dword [ebx], ecx
mov edx, dword [esi + 0x1c]
mov eax, dword [edx - 0x64]
mov dword [ebx + 4], eax
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx - 0x60]
mov dword [ebx + 8], edx
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax - 0x5c]
mov dword [ebx + 0xc], ecx
mov edx, dword [esi + 0x1c]
mov eax, dword [edx - 0x58]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx - 0x54]
mov dword [ebx + 0x14], edx
jmp case.0x449d9d.192
mov edx, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
add edx, 0xffffffdc
mov eax, edx
mov dword [esi + 0x68], edx
cmp eax, ecx
jb 0x44ac3b
cmp dword [eax + 0x18], 0xffffffff
je 0x44ac48
push 0xa1
call fcn.00425880
add esp, 4
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x1c]
mov edx, dword [eax]
mov dword [ecx - 0x68], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [eax + 4]
mov dword [ecx - 0x64], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [eax + 8]
mov dword [ecx - 0x60], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [eax + 0xc]
mov dword [ecx - 0x5c], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [eax + 0x10]
mov dword [ecx - 0x58], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [eax + 0x14]
mov dword [ecx - 0x54], edx
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
call fcn.00477230
add esp, 4
jmp case.0x449d9d.192
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0x1a
mov dword [ebp - 4], ecx
ja case.default.0x44acaa
jmp dword [eax*4 + 0x44d3ac]
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
cmp byte [eax], 0xff
je case.0x44c7ef.7
mov edx, dword [esi + 8]
xor ecx, ecx
mov ch, byte [eax + 2]
mov cl, byte [eax + 3]
jmp 0x44bee6
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
mov ecx, dword [ebp - 4]
xor edx, edx
add ecx, 2
mov dword [ebp - 4], ecx
mov dh, byte [ecx - 2]
mov dl, byte [ecx - 1]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x60]
mov edx, dword [ecx + edx*4]
sar edx, 0x18
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 2
xor edx, edx
mov dword [ebp - 4], ecx
mov dh, byte [ecx - 2]
mov dl, byte [ecx - 1]
mov ecx, edx
xor edx, edx
mov dl, ch
mov byte [eax + 3], cl
mov byte [eax + 2], dl
jmp case.0x449d9d.192
mov edx, 0x30
lea ecx, [ebp - 4]
call fcn.00481840
mov ecx, dword [0x49d43c]
mov dword [ebp - 0x14], ecx
mov byte [eax + 2], ch
mov dx, word [ebp - 0x12]
mov byte [eax + 3], cl
mov byte [eax], dh
mov byte [eax + 1], dl
jmp case.0x449d9d.192
mov edx, 0x30
lea ecx, [ebp - 4]
call fcn.00481840
mov ecx, dword [0x49d460]
mov dword [ebp - 0x14], ecx
mov byte [eax + 2], ch
mov dx, word [ebp - 0x12]
mov byte [eax + 3], cl
mov byte [eax], dh
mov byte [eax + 1], dl
jmp case.0x449d9d.192
mov edx, 0x20
lea ecx, [ebp - 4]
call fcn.00481840
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [ebp - 0x59], cl
mov cl, byte [eax + 2]
mov byte [ebp - 0x5a], dl
mov dl, byte [eax + 3]
mov byte [ebp - 0x5b], cl
mov byte [ebp - 0x5c], dl
mov eax, dword [ebp - 0x5c]
mov dword [0x49d43c], eax
jmp case.0x449d9d.192
mov edx, 0x20
lea ecx, [ebp - 4]
call fcn.00481840
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [ebp - 0x6d], cl
mov cl, byte [eax + 2]
mov byte [ebp - 0x6e], dl
mov dl, byte [eax + 3]
mov byte [ebp - 0x6f], cl
mov byte [ebp - 0x70], dl
mov eax, dword [ebp - 0x70]
mov dword [0x49d460], eax
jmp case.0x449d9d.192
mov edx, 0x30
lea ecx, [ebp - 4]
call fcn.00481840
mov ecx, dword [ebp - 0x24]
cmp ecx, 1
mov byte [eax], cl
jne case.0x44c7ef.7
mov dword [ebp - 0x24], 0
jmp case.0x449d9d.192
mov edx, 0x20
lea ecx, [ebp - 4]
call fcn.00481840
xor ecx, ecx
mov cl, byte [eax]
mov dword [ebp - 0x24], ecx
jmp case.0x449d9d.192
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x18]
or edx, 1
mov dword [esi + 0x70], edx
mov cl, byte [eax]
and cl, 0xfe
mov byte [eax], cl
jmp case.0x449d9d.192
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x70]
mov dl, byte [ecx]
and edx, 1
and al, 0xfe
mov dword [ebp - 0xc], edx
mov dword [esi + 0x70], eax
jmp case.0x449d9d.192
mov edx, 0x4a8
lea ecx, [ebp - 4]
call fcn.00481840
mov edx, 0x38
lea ecx, [ebp - 4]
mov ebx, eax
call fcn.00481840
mov edi, eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x44ae84
push ebx
push esi
call fcn.00432160
add esp, 8
mov dword [edi], eax
jmp case.0x449d9d.192
mov dword [edi], ebx
jmp case.0x449d9d.192
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x44aeab
push eax
push esi
call fcn.00432290
add esp, 8
jmp 0x44aead
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
xor edx, edx
add ecx, 2
push eax
mov dword [ebp - 4], ecx
mov dh, byte [ecx - 2]
mov dl, byte [ecx - 1]
mov ecx, esi
call fcn.004833b0
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 8
lea ecx, [ebp - 4]
call fcn.0046abc0
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov ecx, dword [0x49d438]
mov ebx, eax
mov eax, dword [0x49d440]
push 0
push 0xffffffffffffffff
push 0x4a0bd4
push eax
push ecx
call fcn.00452280
push 0
push 0x4a0bd4
call fcn.00441c80
add esp, 0x1c
mov dword [ebx], eax
jmp case.0x449d9d.192
mov edi, dword [ebp - 8]
push 0x29
mov edx, edi
lea ecx, [ebp - 4]
call fcn.0046abc0
push edi
push 0x49d438
call fcn.0044dbb0
add esp, 8
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov edi, eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x44af86
mov dl, byte [edi]
mov cl, byte [edi + 2]
mov al, byte [edi + 1]
mov byte [ebp - 0x65], dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x67], cl
mov ecx, 0x49d438
mov byte [ebp - 0x66], al
mov byte [ebp - 0x68], dl
call fcn.00468a50
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x14], eax
mov byte [edi + 2], ah
mov cx, word [ebp - 0x12]
mov byte [edi + 3], al
mov byte [edi], ch
mov byte [edi + 1], cl
jmp case.0x449d9d.192
mov ecx, 0x49d438
call fcn.00468a50
add dword [edi], eax
jmp case.0x449d9d.192
mov edi, dword [ebp - 8]
push 0x29
mov edx, edi
lea ecx, [ebp - 4]
call fcn.0046abc0
push edi
push 0x49d438
call fcn.0044dbb0
add esp, 8
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov edi, eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x44b0da
mov al, byte [edi]
mov cl, byte [edi + 1]
mov dl, byte [edi + 2]
mov byte [ebp - 0x39], al
mov al, byte [edi + 3]
mov byte [ebp - 0x3a], cl
mov ecx, 0x49d438
mov byte [ebp - 0x3b], dl
mov byte [ebp - 0x3c], al
call fcn.00468a50
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov ax, word [ebp - 0x12]
mov byte [edi], ah
mov byte [edi + 1], al
mov byte [edi + 2], ch
mov byte [edi + 3], cl
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0x2b
lea ecx, [ebp - 4]
call fcn.0046abc0
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov edi, eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x44b069
mov cl, byte [edi]
mov dl, byte [edi + 1]
mov al, byte [edi + 2]
mov byte [ebp - 0x3d], cl
mov cl, byte [edi + 3]
mov byte [ebp - 0x3e], dl
mov byte [ebp - 0x40], cl
mov ecx, 0x49d438
mov byte [ebp - 0x3f], al
call fcn.00468a50
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov byte [edi + 2], ah
mov cx, word [ebp - 0x12]
mov byte [edi + 3], al
mov byte [edi], ch
mov byte [edi + 1], cl
jmp case.0x449d9d.192
mov ecx, 0x49d438
call fcn.00468a50
add dword [edi], eax
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0x2b
lea ecx, [ebp - 4]
call fcn.0046abc0
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov edi, eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x44b0da
mov dl, byte [edi]
mov cl, byte [edi + 2]
mov al, byte [edi + 1]
mov byte [ebp - 0x45], dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x47], cl
mov ecx, 0x49d438
mov byte [ebp - 0x46], al
mov byte [ebp - 0x48], dl
call fcn.00468a50
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov ax, word [ebp - 0x12]
mov byte [edi], ah
mov byte [edi + 1], al
mov byte [edi + 2], ch
mov byte [edi + 3], cl
jmp case.0x449d9d.192
mov ecx, 0x49d438
call fcn.00468a50
sub dword [edi], eax
jmp case.0x449d9d.192
test dword [ebp - 0x20], 0x80000000
je 0x44b101
push 0x9a
call fcn.00425880
add esp, 4
mov eax, dword [ebp - 0x20]
lea ecx, [eax + eax]
or ecx, 1
mov dword [ebp - 0x20], ecx
jmp case.0x449d9d.192
test dword [ebp - 0x20], 0x80000000
je 0x44b128
push 0x9a
call fcn.00425880
add esp, 4
shl dword [ebp - 0x20], 1
jmp case.0x449d9d.192
shr dword [ebp - 0x20], 1
jmp case.0x449d9d.192
mov edx, dword [esi + 0x18]
mov al, byte [edx]
and eax, 2
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
xor edx, edx
mov dl, byte [ecx]
mov eax, edx
mov edx, 0x94
sub edx, eax
inc ecx
test edx, edx
mov dword [ebp - 4], ecx
jge 0x44b15f
xor edx, edx
xor eax, eax
mov al, byte [ecx]
mov edi, eax
mov eax, 0x94
sub eax, edi
inc ecx
test eax, eax
mov dword [ebp - 4], ecx
jge 0x44b176
xor eax, eax
lea ecx, [esi + 0x38]
push ecx
push eax
push edx
call fcn.00475a20
add esp, 0xc
jmp case.0x449d9d.192
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
mov ebx, dword [eax]
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov eax, dword [eax]
push eax
push ebx
call fcn.0044d890
add esp, 8
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
mov edx, 0x38
lea ecx, [ebp - 4]
mov ebx, eax
call fcn.00481840
mov ecx, dword [ebx]
mov dword [eax], ecx
jmp case.0x449d9d.192
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov dword [eax], 0
jmp case.0x449d9d.192
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
mov ebx, dword [eax]
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov eax, dword [eax]
cmp ebx, eax
jae 0x44b229
mov dword [ebp - 0xc], 0xffffffff
jmp case.0x449d9d.192
xor edx, edx
cmp ebx, eax
setne dl
mov dword [ebp - 0xc], edx
jmp case.0x449d9d.192
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov edx, dword [eax]
xor ecx, ecx
test edx, edx
setne cl
mov dword [ebp - 0xc], ecx
jmp case.0x449d9d.192
test byte [0x49d458], 0x20
mov eax, fcn.0047ef50
jne 0x44b269
mov eax, fcn.00470900
mov edx, dword [0x49d438]
push ecx
push edx
call eax
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [ebp - 8]
test byte [eax + 0x2c], 0x20
je 0x44b2a3
lea eax, [esi + 0x38]
push eax
push ecx
mov ecx, dword [0x49d438]
push ecx
call fcn.0047cb50
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov al, byte [0x49d458]
push ecx
test al, 0x20
je 0x44b2c4
mov edx, dword [0x49d438]
push edx
call fcn.0047f200
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d438]
push eax
call fcn.00470d50
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0
mov ecx, 0x49d438
call fcn.00468790
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 8]
push 8
mov edx, edi
mov bl, byte [eax]
inc eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.0046abc0
cmp bl, 5
jne 0x44b330
mov ecx, dword [0x49d440]
mov edx, dword [0x49d438]
lea eax, [esi + 0x38]
push eax
push ecx
push edx
call fcn.00470d80
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
dec bl
cmp bl, 4
mov byte [ebp - 0x7c], bl
jae case.default.0x44acaa
test byte [edi + 0x2c], 0x20
je 0x44b374
test bl, bl
je 0x44b374
mov ecx, dword [ebp - 0x7c]
mov edx, dword [0x49d440]
lea eax, [esi + 0x38]
and ecx, 0xff
push eax
mov eax, dword [0x49d438]
push edx
push eax
call dword [ecx*4 + 0x49cbd4]
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov ecx, dword [0x49d458]
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x49d440]
and edx, 0xff
shr ecx, 3
and ecx, 4
push eax
add ecx, edx
mov edx, dword [0x49d438]
push edx
call dword [ecx*4 + 0x49cbb8]
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d41c]
mov ecx, dword [eax + 8]
test byte [ecx + 0x30], 3
jne 0x44b3c0
mov edx, dword [eax + 4]
mov edi, dword [edx + 0x10]
jmp 0x44b3c6
mov eax, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
mov dword [edi + 4], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d41c]
mov ecx, dword [eax + 8]
test byte [ecx + 0x30], 3
jne 0x44b3f1
mov edx, dword [eax + 4]
mov edi, dword [edx + 0x10]
jmp 0x44b3f7
mov eax, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov dword [edi + 0xc], eax
jmp case.0x449d9d.192
mov ecx, esi
call fcn.0044db10
push eax
call fcn.0043fdc0
add esp, 4
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
call fcn.00477290
add esp, 4
jmp case.0x449d9d.192
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 4]
test dword [eax + 0x78], 0x4000000
jne case.0x449d9d.177
mov ecx, dword [ebp - 8]
push ecx
push 0x49d438
call fcn.0044dbb0
mov edx, dword [0x49d464]
add esp, 8
cmp dword [0x49d44c], 0x14
jg 0x44b494
mov eax, dword [0x49d458]
test al, 0x10
je 0x44b494
and eax, 0x10f
cmp eax, 2
jne 0x44b494
test byte [0x49d47c], 0x20
mov eax, fcn.0046a940
jne 0x44b487
mov eax, fcn.0046a8f0
push edx
mov edx, dword [0x49d448]
push edx
jmp 0x44a9ea
mov eax, dword [ebp - 0x20]
lea ebx, [esi + 0x38]
push eax
mov edx, ebx
mov ecx, 0x49d438
call fcn.00468fc0
mov eax, dword [0x49d44c]
cmp eax, 0x14
jle 0x44b4cb
mov ecx, dword [0x49d448]
lea edx, [ecx + eax - 0x14]
mov eax, 0x14
mov dword [0x49d448], edx
mov dword [0x49d44c], eax
test byte [0x49d47c], 0x20
mov ecx, fcn.00473aa0
jne 0x44b4de
mov ecx, fcn.00473a70
mov edx, dword [0x49d448]
push ebx
push eax
mov eax, dword [0x49d464]
push eax
mov eax, dword [0x49d45c]
push edx
push eax
call ecx
add esp, 0x14
jmp case.0x449d9d.192
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
test dword [eax + 0x78], 0x4000000
je 0x44b528
mov eax, dword [0x49d458]
mov ebx, eax
and ebx, 0xdf
cmp bl, 0x12
jne 0x44b522
cmp ecx, edx
je 0x44b54b
mov ecx, dword [ebp - 8]
push ecx
jmp 0x44b52c
mov edx, dword [ebp - 8]
push edx
push 0x49d438
call fcn.0044dbb0
mov eax, dword [0x49d458]
mov ecx, dword [0x49d440]
add esp, 8
jmp 0x44b54b
mov eax, dword [0x49d458]
mov edx, dword [0x49d47c]
test dl, 2
je 0x44b60a
cmp dword [0x49d44c], 0x14
jg 0x44b5ad
test al, 0x10
je 0x44b5ad
and eax, 0x10f
cmp eax, 2
jne 0x44b5ad
test dl, 0x20
mov eax, fcn.004785d0
jne 0x44b580
mov eax, fcn.00478570
mov ecx, dword [0x49d478]
mov edx, dword [0x49d448]
push ecx
mov ecx, dword [0x49d45c]
push edx
mov edx, dword [0x49d438]
push ecx
mov ecx, dword [0x49d474]
push edx
push ecx
call eax
add esp, 0x14
jmp case.0x449d9d.192
mov edx, dword [ebp - 0x20]
lea ebx, [esi + 0x38]
push edx
mov edx, ebx
mov ecx, 0x49d438
call fcn.00468fc0
mov eax, dword [0x49d44c]
cmp eax, 0x14
jle 0x44b5e4
mov ecx, dword [0x49d448]
lea edx, [ecx + eax - 0x14]
mov eax, 0x14
mov dword [0x49d448], edx
mov dword [0x49d44c], eax
test byte [0x49d47c], 0x20
mov ecx, fcn.004784d0
jne 0x44b5f7
mov ecx, fcn.00478520
mov edx, dword [0x49d448]
push ebx
push eax
mov eax, dword [0x49d478]
push eax
jmp 0x44c70c
mov edi, dword [0x49d44c]
mov ebx, dword [0x49d470]
cmp edi, ebx
jne 0x44b915
mov ebx, eax
and ebx, 0xfd
cmp bl, 0xc
je 0x44b648
test al, 0x10
je 0x44b915
mov ebx, eax
and ebx, 0x10f
cmp ebx, 2
je 0x44b648
test ebx, ebx
jne 0x44b915
not eax
shr eax, 4
shr edx, 4
and eax, 1
and edx, 2
add eax, edx
lea edx, [esi + 0x38]
push edx
mov edx, dword [0x49d46c]
mov edi, dword [0x49d474]
push ecx
mov ecx, dword [0x49d478]
push ecx
push edx
mov edx, dword [0x49d468]
and ecx, 0xff
push edx
mov edx, dword [0x49d444]
add ecx, edi
push edx
push ecx
call dword [eax*4 + 0x49cbe4]
add esp, 0x1c
jmp case.0x449d9d.192
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov edi, dword [eax + 0x78]
test edi, 0x4000000
je 0x44b6cc
mov eax, dword [0x49d47c]
cmp al, 0xc
jne 0x44b6ba
cmp dword [0x49d470], 0x14
jne 0x44b6c6
test edi, 0x40000000
jne 0x44b6ee
test al, 0xfe
jne 0x44b6ee
mov ecx, dword [ebp - 8]
push ecx
jmp 0x44b6d0
mov edx, dword [ebp - 8]
push edx
push 0x49d438
call fcn.0044dbb0
mov eax, dword [0x49d47c]
mov ecx, dword [0x49d440]
mov edx, dword [0x49d464]
add esp, 8
test dword [0x49d458], 0x100
jne 0x44b748
mov edi, dword [ebp - 8]
mov edi, dword [edi + 4]
test dword [edi + 0x78], 0x40000000
jne 0x44b748
cmp dword [0x49d470], 0x14
jne 0x44b748
test ecx, ecx
jbe 0x44b748
cmp ecx, 0x12
ja 0x44b748
test al, 0x10
je 0x44b748
mov edi, eax
and edi, 0x10f
cmp edi, 2
je 0x44b733
test eax, 0x12e
jne 0x44b748
test al, 0x20
mov eax, fcn.00471c80
jne 0x44b741
mov eax, fcn.00471c20
sub edx, ecx
jmp 0x44a9e8
mov eax, dword [ebp - 0x20]
lea ebx, [esi + 0x38]
push eax
mov edx, ebx
mov ecx, 0x49d438
call fcn.00468fc0
mov edx, ebx
mov ecx, 0x49d45c
call fcn.00469090
jmp case.0x449d9d.192
test byte [0x49d47c], 2
je 0x44b787
push 0xa1
call fcn.00425880
add esp, 4
jmp case.0x449d9d.192
cmp byte [ebp - 0x28], 0xb7
jne 0x44b7a0
mov ecx, dword [0x49d470]
lea eax, [esi + 0x38]
push eax
push ecx
call fcn.00475980
add esp, 8
test byte [esi + 0x70], 1
je 0x44b7ca
mov eax, dword [0x49d470]
lea ebx, [esi + 0x38]
mov edx, 0x26
push ebx
push eax
sub edx, eax
sub edx, dword [0x49d46c]
push edx
call fcn.00475ca0
add esp, 0xc
test eax, eax
jne 0x44b80e
mov al, byte [0x49d47c]
mov ecx, fcn.004686d0
test al, 0x20
jne 0x44b7dd
mov ecx, fcn.00468610
mov eax, dword [0x49d470]
mov edx, dword [0x49d46c]
mov edi, dword [0x49d474]
lea ebx, [esi + 0x38]
push ebx
push eax
mov eax, dword [0x49d478]
push eax
push edx
mov edx, dword [0x49d468]
and eax, 0xff
add eax, edi
push edx
push eax
call ecx
add esp, 0x18
cmp byte [ebp - 0x28], 0xb7
jne case.0x44c7ef.7
push ebx
call fcn.004759e0
add esp, 4
jmp case.0x449d9d.192
test byte [0x49d47c], 2
je 0x44b873
mov edi, dword [0x49d458]
xor edx, edx
mov eax, edi
and eax, 7
cmp al, 3
mov eax, dword [0x49d478]
push eax
mov eax, dword [0x49d438]
setne dl
push ecx
mov ecx, dword [0x49d45c]
shr edi, 4
and edi, 2
push ecx
mov ecx, dword [0x49d474]
add edx, edi
push eax
push ecx
call dword [edx*4 + 0x49cbf4]
add esp, 0x14
jmp case.0x449d9d.192
mov eax, dword [ebp - 8]
test byte [eax + 0x2b], 0x40
je 0x44b88b
mov edx, dword [0x49d458]
or dh, 1
mov dword [0x49d458], edx
mov edx, dword [eax + 4]
test dword [edx + 0x78], 0x4000000
jne 0x44b8ae
mov eax, dword [ebp - 8]
push eax
push 0x49d438
call fcn.0044dbb0
mov ecx, dword [0x49d440]
add esp, 8
mov eax, dword [0x49d458]
test ah, 1
jne 0x44b915
cmp dword [0x49d470], 0x14
jne 0x44b915
test ecx, ecx
jbe 0x44b915
cmp ecx, 0x12
ja 0x44b915
mov al, byte [0x49d47c]
mov edx, fcn.0047c180
test al, 0x20
jne 0x44b8dd
mov edx, fcn.0047bfd0
lea eax, [esi + 0x38]
mov edi, dword [0x49d474]
push eax
mov eax, dword [0x49d478]
push ecx
mov ecx, dword [0x49d46c]
push eax
push ecx
mov ecx, dword [0x49d468]
and eax, 0xff
push ecx
mov ecx, dword [0x49d444]
add eax, edi
push ecx
push eax
call edx
add esp, 0x1c
jmp case.0x449d9d.192
mov edx, dword [ebp - 0x20]
lea ebx, [esi + 0x38]
push edx
mov edx, ebx
mov ecx, 0x49d438
call fcn.00468fc0
jmp 0x44b94e
test byte [0x49d47c], 0x20
mov eax, fcn.0046a010
jne 0x44b93d
mov eax, fcn.0046a040
mov ecx, dword [0x49d45c]
lea ebx, [esi + 0x38]
push ebx
push edx
push ecx
call eax
add esp, 0xc
mov al, byte [0x49d47c]
mov ecx, fcn.004686d0
test al, 0x20
jne 0x44b961
mov ecx, fcn.00468610
mov edx, dword [0x49d470]
mov eax, dword [0x49d478]
mov edi, dword [0x49d474]
push ebx
push edx
mov edx, dword [0x49d46c]
push eax
push edx
mov edx, dword [0x49d468]
and eax, 0xff
add eax, edi
push edx
push eax
call ecx
add esp, 0x18
jmp case.0x449d9d.192
test byte [0x49d458], 0x20
mov eax, fcn.0046a010
jne 0x44b9a8
mov eax, fcn.0046a040
lea ebx, [esi + 0x38]
push ebx
push ecx
mov ecx, dword [0x49d438]
push ecx
call eax
add esp, 0xc
mov edx, ebx
mov ecx, 0x49d45c
call fcn.00469090
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
mov ebx, fcn.004710f0
and eax, 7
cmp al, 3
je 0x44b9e0
mov ebx, fcn.004710a0
lea eax, [esi + 0x38]
push eax
push edx
mov edx, dword [0x49d438]
push ecx
mov ecx, dword [0x49d45c]
push ecx
push edx
call ebx
add esp, 0x14
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
mov edx, fcn.00478700
and eax, 7
cmp al, 3
je 0x44ba14
mov edx, fcn.004786d0
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d478]
push eax
mov eax, dword [0x49d438]
push ecx
mov ecx, dword [0x49d45c]
push ecx
mov ecx, dword [0x49d474]
push eax
push ecx
call edx
add esp, 0x18
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
and eax, 7
cmp al, 3
jne 0x44ba69
push edx
mov edx, dword [0x49d438]
push ecx
mov ecx, dword [0x49d45c]
push ecx
push edx
call fcn.00470de0
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d47c]
and eax, 7
cmp al, 3
jne 0x44ba95
push edx
mov edx, dword [0x49d438]
push ecx
mov ecx, dword [0x49d45c]
push ecx
push edx
call fcn.00470e00
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d45c]
push edx
push ecx
mov ecx, dword [0x49d438]
push eax
push ecx
call fcn.0047edb0
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d438]
push edx
mov edx, dword [0x49d45c]
push ecx
push edx
push eax
call fcn.00471190
add esp, 0x14
jmp case.0x449d9d.192
mov edx, dword [0x49d458]
and edx, 7
cmp dl, 3
mov edx, fcn.00478760
je 0x44ba14
mov edx, fcn.00478730
jmp 0x44ba14
mov eax, dword [0x49d458]
and eax, 7
cmp al, 3
jne 0x44bb22
push edx
mov edx, dword [0x49d438]
push ecx
mov ecx, dword [0x49d45c]
push ecx
push edx
call fcn.0046a990
add esp, 0x10
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d45c]
push edx
push ecx
mov ecx, dword [0x49d438]
push eax
push ecx
call fcn.00471130
add esp, 0x14
jmp case.0x449d9d.192
mov eax, dword [ebp - 0xc]
test eax, eax
jg case.0x449d9d.192
jmp case.0x449d9d.193
mov eax, dword [ebp - 0xc]
test eax, eax
jle case.0x449d9d.192
jmp case.0x449d9d.193
mov eax, dword [ebp - 0xc]
test eax, eax
je case.0x449d9d.192
jmp case.0x449d9d.193
mov eax, dword [ebp - 0xc]
test eax, eax
jne case.0x449d9d.192
jmp case.0x449d9d.193
mov eax, dword [ebp - 0xc]
test eax, eax
jl case.0x449d9d.192
jmp case.0x449d9d.193
mov eax, dword [ebp - 0xc]
test eax, eax
jge case.0x449d9d.192
mov eax, dword [ebp - 0x1c]
test eax, eax
jne case.0x449d9d.192
mov dword [ebp - 0x24], 1
jmp case.0x449d9d.192
mov eax, dword [ebp - 0x1c]
test eax, eax
je case.0x449d9d.192
dec eax
mov dword [ebp - 0x1c], eax
jmp case.0x449d9d.192
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 8
lea ecx, [ebp - 4]
call fcn.0046abc0
mov edx, dword [0x49d440]
mov eax, dword [0x49d438]
push 0
push 0xffffffffffffffff
push 0x4a0bd4
push edx
push eax
call fcn.00452280
push 0x4a0bd4
call fcn.00427600
add esp, 0x18
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add eax, 2
xor edx, edx
mov dword [ebp - 4], eax
mov ecx, dword [ecx + 4]
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
mov edi, dword [ecx + 0x60]
mov edi, dword [edi + edx*4]
mov dword [ebp - 0x14], edi
jmp 0x44bc5f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add eax, 2
xor edx, edx
mov dword [ebp - 4], eax
mov edi, dword [ecx + 4]
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
mov edi, dword [edi + 0x60]
add eax, 2
mov edi, dword [edi + edx*4]
xor edx, edx
mov dword [ebp - 4], eax
mov ecx, dword [ecx + 4]
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
mov eax, dword [ecx + 0x60]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], edx
mov edx, dword [esi + 0x18]
mov bl, byte [edx + 0x34]
test bl, bl
mov byte [ebp - 0x34], bl
je 0x44bc93
cmp bl, 0x64
je 0x44bc86
mov edx, dword [ecx + 0x44]
sub eax, edx
mov edx, dword [ebp - 0x34]
and edx, 0xff
shl edx, 0x18
or eax, edx
jmp 0x44bc96
sub eax, dword [ecx + 0x98]
or eax, 0x64000000
jmp 0x44bc96
sub eax, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x78]
mov edx, eax
test ecx, 0x300000
mov dword [ebp - 0x18], edx
je 0x44bcf0
mov eax, dword [esi + 0x68]
mov ebx, dword [esi + 0x64]
cmp eax, ebx
jbe 0x44bcf0
and ecx, 0x200000
mov dword [ebp - 0x78], ecx
jmp 0x44bcbe
mov ecx, dword [ebp - 0x78]
sub eax, 0xc
test ecx, ecx
je 0x44bcd1
mov ecx, dword [ebp - 0x14]
lea ebx, [ecx + 1]
cmp ebx, dword [eax]
je 0x44bd34
jmp 0x44bceb
mov ecx, dword [eax + 4]
cmp ecx, edx
je 0x44bd40
cmp dword [eax], 0xffffffff
jb 0x44bceb
lea ebx, [ecx*4]
sub ebx, ecx
neg ebx
lea eax, [eax + ebx*4]
cmp eax, dword [esi + 0x64]
ja 0x44bcbb
mov ebx, dword [esi + 0x68]
mov eax, dword [0x49d430]
cmp ebx, eax
jb 0x44bd0c
push 0x9a
call fcn.00425880
mov edx, dword [ebp - 0x18]
add esp, 4
mov eax, dword [ebp - 0x14]
mov dword [ebx + 4], edx
inc eax
mov dword [ebx], eax
mov ecx, dword [esi + 0x74]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0x78]
inc ecx
add ebx, 0xc
mov dword [esi + 0x78], ecx
mov dword [esi + 0x68], ebx
add dword [0x49d42c], 0xc
jmp 0x44beef
inc ecx
mov dword [eax + 4], edx
mov dword [eax], ecx
mov ecx, dword [esi + 0x74]
mov dword [eax + 8], ecx
inc dword [esi + 0x78]
jmp 0x44beef
mov edx, 0x28
lea ecx, [ebp - 4]
call fcn.00481840
mov ecx, dword [ebp - 4]
xor edx, edx
mov dl, byte [eax]
mov eax, edx
xor edx, edx
mov dl, byte [ecx]
dec eax
inc ecx
cmp edx, eax
ja 0x44bd73
lea eax, [ecx + edx*2]
mov dword [ebp - 4], eax
jmp case.0x449d9d.192
lea eax, [ecx + eax*2]
jmp 0x44bed5
mov edx, dword [ebp - 8]
push 8
lea ecx, [ebp - 4]
call fcn.0046abc0
mov ecx, dword [0x49d440]
mov edx, dword [0x49d438]
push 0
push 0xffffffffffffffff
push 0x4a0bd4
push ecx
push edx
call fcn.00452280
mov eax, dword [ebp - 4]
xor ecx, ecx
add esp, 0x14
mov cl, byte [eax]
inc eax
mov edi, ecx
mov dword [ebp - 4], eax
cmp edi, 0xff
jle 0x44bdcc
push 0xbe
call fcn.00425880
mov eax, dword [ebp - 4]
add esp, 4
mov dword [ebp - 0x14], edi
mov dword [0x49d87c], edi
dec edi
mov ebx, 0x49d480
js 0x44be11
inc edi
add eax, 2
xor edx, edx
mov dword [ebp - 4], eax
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
cmp edx, 0xffff
je 0x44be05
mov ecx, esi
call fcn.004833f0
mov dword [ebx], eax
mov eax, dword [ebp - 4]
add ebx, 4
jmp 0x44be0e
mov dword [ebx], 0
add ebx, 4
dec edi
jne 0x44bdde
mov edx, dword [esi + 0x68]
push 0x4a0bd4
mov dword [0x49d42c], edx
call fcn.004830a0
add esp, 4
test eax, eax
push 0x49d480
je 0x44be50
mov eax, dword [ebp - 0x14]
push eax
push 0x4a0bd4
call fcn.00427180
add esp, 0xc
lea edx, [ebp - 4]
mov ecx, esi
call fcn.0044d950
jmp case.0x449d9d.192
mov ecx, dword [ebp - 0x14]
push ecx
push 0x4a0bd4
call fcn.00427180
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0044da60
lea edx, [ebp - 4]
mov ecx, esi
call fcn.0044d950
jmp case.0x449d9d.192
xor edx, edx
xor ecx, ecx
call fcn.0043bb20
jmp case.0x449d9d.192
mov edi, dword [ebp - 8]
push 0x29
mov edx, edi
lea ecx, [ebp - 4]
call fcn.0046abc0
push edi
push 0x49d438
call fcn.0044dbb0
add esp, 8
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, 0x49d438
mov ebx, eax
call fcn.00468a50
test eax, eax
jle 0x44bf9f
cmp eax, ebx
jg 0x44bf9f
mov edx, dword [ebp - 4]
lea eax, [edx + eax*2 - 2]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
add eax, 2
xor ecx, ecx
mov dword [ebp - 4], eax
mov ch, byte [eax - 2]
mov cl, byte [eax - 1]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x60]
mov edi, dword [edx + ecx*4]
mov ebx, edi
mov dword [esi + 0x74], 0
sar ebx, 0x18
test bl, bl
mov byte [ebp - 0x34], bl
je 0x44bf80
cmp bl, 0x64
je 0x44bf5e
mov eax, dword [esi + 0x18]
cmp bl, byte [eax + 0x34]
je 0x44bf3f
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
cmp bl, byte [edx + 0x89]
je 0x44bf2f
mov eax, dword [ebp - 0x34]
and eax, 0xff
push eax
push esi
call fcn.004817d0
add esp, 8
mov edx, dword [ebp - 0x34]
mov ecx, esi
and edx, 0xff
call fcn.00466150
mov ecx, dword [ebp - 8]
and edi, 0xffffff
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x18]
mov eax, dword [edx + 0x44]
add eax, edi
mov dword [ebp - 4], eax
mov byte [ecx + 0x34], bl
jmp case.0x449d9d.192
mov ecx, dword [ebp - 8]
and edi, 0xffffff
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x18]
mov eax, dword [edx + 0x98]
add eax, edi
mov dword [ebp - 4], eax
mov byte [ecx + 0x34], bl
jmp case.0x449d9d.192
mov ecx, dword [ebp - 8]
and edi, 0xffffff
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x18]
mov eax, dword [edx + 0x40]
add eax, edi
mov dword [ebp - 4], eax
mov byte [ecx + 0x34], bl
jmp case.0x449d9d.192
mov edx, dword [ebp - 4]
lea eax, [edx + ebx*2]
mov dword [ebp - 4], eax
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
xor edx, edx
movzx cx, byte [eax]
inc eax
mov word [ebp - 0x78], cx
mov dword [ebp - 4], eax
mov dl, byte [eax]
inc eax
mov edi, edx
mov dword [ebp - 4], eax
cmp edi, 0xff
jle 0x44bfde
push 0xbe
call fcn.00425880
mov eax, dword [ebp - 4]
add esp, 4
mov dword [0x49d87c], edi
mov ebx, edi
dec edi
mov esi, 0x49d480
js 0x44c012
inc edi
jmp 0x44bff4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
add eax, 2
xor edx, edx
mov dword [ebp - 4], eax
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
call fcn.004833f0
mov dword [esi], eax
add esi, 4
dec edi
jne 0x44bff1
mov esi, dword [ebp - 0x10]
push 0x49d480
movsx ecx, word [ebp - 0x78]
mov eax, dword [esi + 0x68]
push ebx
push ecx
mov dword [0x49d42c], eax
call fcn.00483010
add esp, 0xc
lea edx, [ebp - 4]
mov ecx, esi
call fcn.0044d950
jmp case.0x449d9d.192
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
cmp eax, ecx
jbe 0x44c08f
mov edi, dword [esi + 0x74]
mov edx, dword [ebp - 8]
mov ecx, dword [eax - 0xc]
sub eax, 0xc
cmp ecx, edi
je 0x44c07f
mov ebx, dword [edx + 4]
test byte [ebx + 0x7a], 0x30
je 0x44c092
cmp ecx, 0xffffffff
jb 0x44c078
mov ecx, dword [eax + 4]
lea ebx, [ecx*4]
sub ebx, ecx
neg ebx
lea eax, [eax + ebx*4]
cmp eax, dword [esi + 0x64]
ja 0x44c04f
jmp 0x44c092
push eax
lea edx, [ebp - 4]
mov ecx, esi
call fcn.0044d7c0
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x18]
mov al, byte [eax + 0x34]
test al, al
mov byte [ebp - 0x34], al
je 0x44c0d7
mov ecx, dword [edx + 4]
mov edx, dword [ebp - 4]
cmp al, 0x64
je 0x44c0c3
mov eax, dword [ecx + 0x44]
sub edx, eax
mov eax, dword [ebp - 0x34]
and eax, 0xff
shl eax, 0x18
or edx, eax
mov dword [esi + 0x74], edx
jmp case.0x449d9d.192
sub edx, dword [ecx + 0x98]
or edx, 0x64000000
mov dword [esi + 0x74], edx
jmp case.0x449d9d.192
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 4]
sub ecx, dword [eax + 0x40]
mov dword [esi + 0x74], ecx
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
add eax, 2
xor ecx, ecx
mov dword [ebp - 4], eax
mov edi, dword [edx + 4]
mov ch, byte [eax - 2]
mov cl, byte [eax - 1]
mov edx, dword [edi + 0x60]
mov eax, dword [esi + 0x68]
mov edx, dword [edx + ecx*4]
mov ecx, dword [esi + 0x64]
inc edx
cmp eax, ecx
jbe 0x44c14d
mov ecx, dword [eax - 0xc]
mov ebx, dword [esi + 0x74]
sub eax, 0xc
cmp ecx, ebx
je 0x44c07f
cmp ecx, edx
je 0x44c07f
test dword [edi + 0x78], 0x300000
je 0x44c14d
cmp ecx, 0xffffffff
jb 0x44c148
mov ecx, dword [eax + 4]
lea ebx, [ecx*4]
sub ebx, ecx
neg ebx
lea eax, [eax + ebx*4]
cmp eax, dword [esi + 0x64]
ja 0x44c110
mov dword [esi + 0x74], 0
jmp case.0x449d9d.192
mov ecx, dword [ebp - 4]
push esi
dec ecx
lea edx, [ebp - 0x598]
mov dword [ebp - 4], ecx
lea ecx, [ebp - 4]
call fcn.00481cd0
lea edx, [ebp - 4]
mov ecx, esi
call fcn.0044d950
jmp case.0x449d9d.192
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0x13
mov dword [ebp - 4], ecx
ja case.0x449d9d.192
jmp dword [eax*4 + 0x44d418]
lea ecx, [ebp - 4]
lea edi, [ebp - 0x598]
call fcn.0046b630
mov ecx, eax
mov edx, edi
call fcn.00482990
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0
lea ecx, [ebp - 4]
call fcn.0044d8b0
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 4]
mov dword [ecx + 0x20], edx
mov edx, eax
mov ecx, 1
call fcn.0043bb20
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0
lea ecx, [ebp - 4]
call fcn.0044d8b0
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 4]
push eax
mov dword [ecx + 0x20], edx
call fcn.0043fdc0
add esp, 4
jmp case.0x449d9d.192
push 0
mov edx, dword [ebp - 8]
lea ecx, [ebp - 4]
call fcn.0044d8b0
mov ecx, dword [ebp - 4]
mov ebx, eax
mov eax, dword [esi + 4]
mov edx, ebx
mov dword [eax + 0x20], ecx
mov ecx, 1
call fcn.0043bb20
push ebx
call fcn.0043fdc0
add esp, 4
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0x18
lea ecx, [ebp - 4]
call fcn.0046abc0
mov edx, dword [0x49d45c]
mov eax, dword [0x49d464]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x120], eax
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 6
lea ecx, [ebp - 4]
call fcn.0044d8b0
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 4]
mov dword [ecx + 0x20], edx
mov edx, eax
mov ecx, 1
call fcn.0043bb20
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 6
lea ecx, [ebp - 4]
call fcn.0044d8b0
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 4]
push eax
mov dword [ecx + 0x20], edx
call fcn.0043fdc0
add esp, 4
jmp case.0x449d9d.192
push 6
jmp 0x44c202
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 4]
inc eax
mov dword [ebp - 0x114], eax
call fcn.0046b630
mov edx, dword [ebp - 0x118]
mov dword [edx + 4], eax
jmp case.0x449d9d.192
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
mov eax, dword [ebp - 0x118]
add eax, 8
mov dword [ebp - 0x118], eax
jmp case.0x449d9d.192
mov edi, dword [ebp - 8]
push 0x21
mov edx, edi
lea ecx, [ebp - 4]
call fcn.0046abc0
push edi
push 0x49d438
call fcn.0044dbb0
add esp, 8
mov ecx, 0x49d438
call fcn.00468a50
mov edx, dword [ebp - 0x118]
mov dword [edx], eax
mov eax, dword [ebp - 0x118]
add eax, 8
mov dword [ebp - 0x118], eax
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 8
lea ecx, [ebp - 4]
call fcn.0046abc0
mov eax, dword [0x49d438]
mov ecx, dword [0x49d440]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], ecx
or byte [ebp - 0x110], 0x80
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 8
lea ecx, [ebp - 4]
call fcn.0046abc0
mov eax, dword [0x49d440]
mov edx, dword [0x49d438]
mov dword [ebp - 0x120], eax
mov al, byte [ebp - 0x110]
or al, 0x84
mov dword [ebp - 0x124], edx
mov byte [ebp - 0x110], al
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 8
lea ecx, [ebp - 4]
call fcn.0046abc0
mov al, byte [ebp - 0x110]
mov ecx, dword [0x49d438]
mov edx, dword [0x49d440]
or al, 0x88
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], edx
mov byte [ebp - 0x110], al
jmp case.0x449d9d.192
cmp dword [esi + 0x80], 1
jne 0x44d05b
jmp case.0x449d9d.192
mov al, byte [0x49d458]
mov ecx, fcn.00469950
test al, 0x20
jne 0x44c3fb
mov ecx, fcn.00469920
mov eax, dword [0x49d44c]
mov edx, dword [0x49d444]
lea ebx, [esi + 0x38]
push ebx
push eax
mov eax, dword [0x49d454]
push eax
push edx
mov edx, dword [0x49d450]
and eax, 0xff
add eax, edx
push eax
call ecx
add esp, 0x14
test eax, eax
je 0x44c43f
test byte [0x49d266], 1
je 0x44c43f
push 0xa3
call fcn.00425880
add esp, 4
mov edx, ebx
mov ecx, 0x49d45c
call fcn.00469090
jmp case.0x449d9d.192
mov ecx, dword [ebp - 4]
mov edx, dword [esi + 4]
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp - 4], ecx
cmp eax, 6
mov dword [edx + 0x20], ecx
jae 0x44c586
mov ecx, eax
and ecx, 1
cmp eax, 4
lea ecx, [ecx*4 + 4]
mov dword [0x49d464], ecx
mov dword [0x49d440], ecx
ja case.default.0x44c48b
jmp dword [eax*4 + 0x44d468]
lea eax, [esi + 0x38]
mov edx, 0x28
push eax
lea ecx, [ebp - 4]
call fcn.00481840
push eax
call fcn.0047fbb0
add esp, 8
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
mov edx, 0x28
push eax
lea ecx, [ebp - 4]
call fcn.00481840
push eax
call fcn.0047fe50
add esp, 8
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
mov edx, 0x38
push eax
lea ecx, [ebp - 4]
call fcn.00481840
push eax
call fcn.0047fbf0
add esp, 8
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
mov edx, 0x38
push eax
lea ecx, [ebp - 4]
call fcn.00481840
push eax
call fcn.0047fe90
add esp, 8
jmp case.0x449d9d.192
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov edi, eax
mov al, byte [esi + 0x70]
test al, 1
je 0x44c538
lea eax, [esi + 0x38]
push eax
call fcn.00480760
add esp, 4
test eax, eax
jne case.0x44c7ef.7
lea eax, [esi + 0x38]
push eax
push edi
call fcn.0047fc70
add esp, 8
jmp case.0x449d9d.192
mov edx, 0x38
lea ecx, [ebp - 4]
call fcn.00481840
mov edi, eax
mov al, byte [esi + 0x70]
test al, 1
je 0x44c574
lea eax, [esi + 0x38]
push eax
call fcn.004808a0
add esp, 4
test eax, eax
jne case.0x44c7ef.7
lea eax, [esi + 0x38]
push eax
push edi
call fcn.0047ff00
add esp, 8
jmp case.0x449d9d.192
add eax, 0xfffffffa
cmp eax, 6
ja case.default.0x44c592
jmp dword [eax*4 + 0x44d47c]
mov edx, dword [ebp - 8]
push 0xa
lea ecx, [ebp - 4]
call fcn.0046abc0
test byte [0x49d458], 0x20
mov eax, fcn.00480410
jne 0x44c5b9
mov eax, fcn.00480380
mov edx, dword [0x49d454]
lea ecx, [esi + 0x38]
push ecx
mov ecx, dword [0x49d438]
push edx
mov edx, dword [0x49d450]
push ecx
push edx
call eax
add esp, 0x10
test eax, eax
je case.0x44c7ef.7
test byte [0x49d266], 1
je case.0x44c7ef.7
push 0xa3
call fcn.00425880
add esp, 4
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0x1a
lea ecx, [ebp - 4]
call fcn.0046abc0
test byte [0x49d47c], 0x20
mov eax, fcn.00480470
jne 0x44c61e
mov eax, fcn.004803e0
mov edx, dword [0x49d45c]
lea ecx, [esi + 0x38]
push ecx
mov ecx, dword [0x49d478]
push ecx
mov ecx, dword [0x49d474]
push edx
push ecx
call eax
add esp, 0x10
test eax, eax
je case.0x44c7ef.7
test byte [0x49d266], 1
je case.0x44c7ef.7
push 0xa3
call fcn.00425880
add esp, 4
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0x1a
lea ecx, [ebp - 4]
call fcn.0046abc0
test byte [esi + 0x70], 1
je 0x44c697
mov edx, dword [0x49d470]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d46c]
push edx
push eax
call fcn.004809d0
add esp, 0xc
test eax, eax
jne case.0x44c7ef.7
test byte [0x49d47c], 0x20
je 0x44c6a7
mov ecx, fcn.00480637
jmp 0x44c6f5
mov ecx, fcn.00480580
jmp 0x44c6f5
mov edx, dword [ebp - 8]
push 0x1a
lea ecx, [ebp - 4]
call fcn.0046abc0
test byte [esi + 0x70], 1
je 0x44c6e2
mov ecx, dword [0x49d46c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d470]
push eax
push ecx
call fcn.004809f0
add esp, 0xc
test eax, eax
jne case.0x44c7ef.7
mov al, byte [0x49d47c]
mov ecx, fcn.0048065c
test al, 0x20
jne 0x44c6f5
mov ecx, fcn.004805a5
mov edx, dword [0x49d470]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d478]
push edx
mov edx, dword [0x49d46c]
push eax
mov eax, dword [0x49d45c]
push edx
mov edx, dword [0x49d474]
push eax
push edx
call ecx
add esp, 0x18
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
xor ebx, ebx
lea ecx, [esi + 0x38]
mov bl, byte [eax]
push ecx
inc ebx
inc eax
push ebx
push eax
mov dword [ebp - 4], eax
call fcn.00480250
mov eax, dword [ebp - 4]
add esp, 0xc
add eax, ebx
mov dword [ebp - 4], eax
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
xor ebx, ebx
lea ecx, [esi + 0x38]
mov bl, byte [eax]
push ecx
inc ebx
inc eax
push ebx
push eax
mov dword [ebp - 4], eax
call fcn.00480280
mov eax, dword [ebp - 4]
add esp, 0xc
add eax, ebx
mov dword [ebp - 4], eax
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 0x18
lea ecx, [ebp - 4]
call fcn.0046abc0
mov al, byte [0x49d47c]
mov ecx, fcn.00480520
test al, 0x20
jne 0x44c792
mov ecx, fcn.00480550
mov edx, dword [0x49d45c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d464]
push eax
push edx
call ecx
add esp, 0xc
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 8]
xor ebx, ebx
push 0x4008
mov bl, byte [eax]
inc eax
mov edx, edi
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.0046abc0
cmp ebx, 0x10
jae 0x44c7de
push 0x4018
mov edx, edi
lea ecx, [ebp - 4]
call fcn.0046abc0
cmp ebx, 0x13
ja case.0x44c7ef.7
xor eax, eax
mov al, byte [ebx + 0x44d4b8]
jmp dword [eax*4 + 0x44d498]
mov ecx, dword [0x49d47c]
cmp ecx, 0xe8
je 0x44c82f
cmp ecx, 0xea
je 0x44c82f
cmp ecx, 0xeb
je 0x44c82f
cmp ecx, 0xec
je 0x44c82f
push 0xa1
call fcn.00425880
mov ecx, dword [0x49d47c]
add esp, 4
mov eax, dword [0x49d458]
cmp eax, 0xe8
je 0x44ca50
cmp eax, 0xea
je 0x44ca50
cmp eax, 0xeb
je 0x44ca50
cmp eax, 0xec
je 0x44ca50
cmp eax, 0xa8
je 0x44c9c2
cmp eax, 0xaa
je 0x44c9c2
cmp eax, 0xab
je 0x44c9c2
cmp eax, 0xac
je 0x44c9c2
test al, 0x10
je 0x44c91a
mov edx, eax
and edx, 0xcc
cmp dl, 0x88
je 0x44c8ae
mov edx, eax
and edx, 0xcf
cmp dl, 0x8c
jne 0x44c91a
mov edx, eax
and edx, 7
cmp dl, 3
jne 0x44c8ca
test al, 0x20
je 0x44c8c3
mov ecx, fcn.004810b0
jmp 0x44c8f2
mov ecx, fcn.00480fa0
jmp 0x44c8f2
cmp ecx, 0xec
jne 0x44c8e4
test al, 0x20
je 0x44c8dd
mov ecx, fcn.00481110
jmp 0x44c8f2
mov ecx, fcn.00481000
jmp 0x44c8f2
test al, 0x20
mov ecx, fcn.00481070
jne 0x44c8f2
mov ecx, fcn.00480f60
mov edx, dword [0x49d440]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d464]
push eax
mov eax, dword [0x49d45c]
push edx
mov edx, dword [0x49d438]
push eax
push edx
call ecx
add esp, 0x14
jmp case.0x449d9d.192
test al, 0xc0
je 0x44c92f
mov edx, eax
and edx, 0xcc
cmp dl, 0x80
jne 0x44caf2
mov eax, dword [edi + 4]
test dword [eax + 0x78], 0x4000000
jne 0x44c949
push edi
push 0x49d438
call fcn.0044dbb0
add esp, 8
mov ecx, dword [ebp - 0x20]
lea ebx, [esi + 0x38]
push ecx
mov edx, ebx
mov ecx, 0x49d438
call fcn.00468fc0
mov eax, dword [0x49d44c]
cmp eax, 0x14
jle 0x44c97f
mov edx, dword [0x49d448]
lea eax, [edx + eax - 0x14]
mov dword [0x49d448], eax
mov eax, 0x14
mov dword [0x49d44c], eax
mov ecx, dword [0x49d464]
mov edx, dword [0x49d448]
push ebx
push eax
shr ecx, 1
push ecx
lea eax, [ebp - 0x100]
push edx
push eax
call fcn.00473a70
mov eax, dword [0x49d464]
mov ecx, dword [0x49d45c]
push ebx
push eax
shr eax, 1
push eax
lea edx, [ebp - 0x100]
push ecx
push edx
call fcn.00480f60
add esp, 0x28
jmp case.0x449d9d.192
and eax, 7
cmp al, 3
jne 0x44c9f4
mov ecx, dword [0x49d440]
mov edx, dword [0x49d45c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d464]
push eax
mov eax, dword [0x49d438]
push ecx
push edx
push eax
call fcn.00480f00
add esp, 0x14
jmp case.0x449d9d.192
lea eax, [esi + 0x38]
cmp ecx, 0xec
push eax
jne 0x44ca28
mov ecx, dword [0x49d464]
mov edx, dword [0x49d440]
mov eax, dword [0x49d45c]
push ecx
mov ecx, dword [0x49d438]
push edx
push eax
push ecx
call fcn.00480f30
add esp, 0x14
jmp case.0x449d9d.192
mov edx, dword [0x49d464]
mov eax, dword [0x49d440]
mov ecx, dword [0x49d45c]
push edx
mov edx, dword [0x49d438]
push eax
push ecx
push edx
call fcn.00480ed0
add esp, 0x14
jmp case.0x449d9d.192
mov edx, eax
and edx, 7
cmp dl, 3
jne 0x44ca85
mov ecx, dword [0x49d440]
mov edx, dword [0x49d45c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d464]
push eax
mov eax, dword [0x49d438]
push ecx
push edx
push eax
call fcn.00480c90
add esp, 0x14
jmp case.0x449d9d.192
cmp ecx, 0xec
jne 0x44caa8
test al, 0x30
je 0x44caa1
and eax, 0x8e
cmp al, 0x8a
jne 0x44caa1
mov ecx, fcn.00480e30
jmp 0x44cabf
mov ecx, fcn.00480d10
jmp 0x44cabf
test al, 0x30
je 0x44caba
and eax, 0x8e
mov ecx, fcn.00480d80
cmp al, 0x8a
je 0x44cabf
mov ecx, fcn.00480c30
mov edx, dword [0x49d464]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d440]
push edx
mov edx, dword [0x49d45c]
push eax
mov eax, dword [0x49d438]
push edx
push eax
call ecx
add esp, 0x14
jmp case.0x449d9d.192
mov ecx, dword [0x49d47c]
mov eax, dword [0x49d458]
cmp eax, 0xe8
je 0x44cb0e
cmp eax, 0xea
je 0x44cb0e
cmp eax, 0xeb
je 0x44cb0e
cmp eax, 0xec
jne case.default.0x44acaa
cmp ecx, 0xe8
je 0x44cb40
cmp ecx, 0xea
je 0x44cb40
cmp ecx, 0xeb
je 0x44cb40
cmp ecx, 0xec
je 0x44cb40
push 0xa1
call fcn.00425880
add esp, 4
jmp case.0x449d9d.192
mov edx, eax
and edx, 7
cmp dl, 3
jne 0x44cb78
mov ecx, dword [0x49d440]
mov edx, dword [0x49d45c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d464]
push eax
mov eax, dword [0x49d438]
push ecx
push edx
push eax
call fcn.004813d0
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov edx, ecx
and edx, 7
cmp dl, 3
jne 0x44cbb0
mov ecx, dword [0x49d440]
mov edx, dword [0x49d45c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d464]
push eax
mov eax, dword [0x49d438]
push ecx
push edx
push eax
call fcn.00481460
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
test al, 0x30
je 0x44cc2a
and eax, 0x8e
cmp al, 0x8a
jne 0x44cc2a
test cl, 0x30
je 0x44cbfb
and ecx, 0x8e
cmp cl, al
jne 0x44cbfb
mov ecx, dword [0x49d464]
mov edx, dword [0x49d440]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d45c]
push ecx
mov ecx, dword [0x49d438]
push edx
push eax
push ecx
call fcn.00481390
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov edx, dword [0x49d464]
mov ecx, dword [0x49d45c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d440]
push edx
mov edx, dword [0x49d438]
push eax
push ecx
push edx
call fcn.00481250
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
test cl, 0x30
je 0x44cc68
and ecx, 0x8e
cmp cl, 0x8a
jne 0x44cc68
mov ecx, dword [0x49d440]
mov edx, dword [0x49d45c]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d464]
push eax
mov eax, dword [0x49d438]
push ecx
push edx
push eax
call fcn.004812f0
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov ecx, dword [0x49d464]
mov edx, dword [0x49d440]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d45c]
push ecx
mov ecx, dword [0x49d438]
push edx
push eax
push ecx
call fcn.00481180
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
cmp eax, 0xe8
je 0x44ccb8
cmp eax, 0xea
je 0x44ccb8
cmp eax, 0xeb
je 0x44ccb8
cmp eax, 0xec
jne 0x44cce8
mov eax, dword [0x49d47c]
cmp eax, 0xe8
je 0x44ccd9
cmp eax, 0xea
je 0x44ccd9
cmp eax, 0xeb
je 0x44ccd9
cmp eax, 0xec
jne 0x44cce8
mov ecx, dword [0x49d440]
mov eax, dword [0x49d464]
cmp ecx, eax
je 0x44ccfb
push 0xa1
call fcn.00425880
mov ecx, dword [0x49d440]
add esp, 4
test byte [edi + 0x2d], 0x10
jne 0x44cd2f
mov eax, dword [0x49d438]
shr ecx, 1
mov edi, ecx
mov ecx, dword [0x49d45c]
je case.0x44c7ef.7
xor edx, edx
add ecx, 2
mov dl, byte [eax + 1]
mov dh, byte [eax]
add eax, 2
mov word [ecx - 2], dx
dec edi
jne 0x44cd16
jmp case.0x449d9d.192
mov esi, dword [0x49d438]
mov edi, dword [0x49d45c]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.0x44c7ef.7
mov eax, dword [0x49d458]
cmp eax, 0xe8
je 0x44cd7c
cmp eax, 0xea
je 0x44cd7c
cmp eax, 0xeb
je 0x44cd7c
cmp eax, 0xec
je 0x44cd7c
push 0xa1
call fcn.00425880
add esp, 4
mov ecx, dword [0x49d440]
mov edx, dword [0x49d438]
lea eax, [esi + 0x38]
push eax
push ecx
push edx
call fcn.00481560
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
cmp eax, 0xe8
je 0x44cdcc
cmp eax, 0xea
je 0x44cdcc
cmp eax, 0xeb
je 0x44cdcc
cmp eax, 0xec
je 0x44cdcc
push 0xa1
call fcn.00425880
add esp, 4
mov ecx, dword [0x49d438]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d440]
push eax
push ecx
call fcn.004815c0
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
cmp eax, 0xe8
je 0x44ce1b
cmp eax, 0xea
je 0x44ce1b
cmp eax, 0xeb
je 0x44ce1b
cmp eax, 0xec
je 0x44ce1b
push 0xa1
call fcn.00425880
add esp, 4
mov edx, dword [0x49d440]
lea eax, [esi + 0x38]
push eax
mov eax, dword [0x49d438]
push edx
push eax
call fcn.00481620
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [0x49d458]
cmp eax, 0xe8
je 0x44ce6a
cmp eax, 0xea
je 0x44ce6a
cmp eax, 0xeb
je 0x44ce6a
cmp eax, 0xec
je 0x44ce6a
push 0xa1
call fcn.00425880
add esp, 4
mov ecx, dword [0x49d440]
mov edx, dword [0x49d438]
lea eax, [esi + 0x38]
push eax
push ecx
push edx
call fcn.00481680
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
xor ebx, ebx
push 8
mov bl, byte [eax]
inc eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.0046abc0
mov ecx, dword [0x49d440]
mov edx, dword [0x49d438]
mov eax, dword [esi + 0x68]
push ecx
push edx
push ebx
mov dword [0x49d42c], eax
call fcn.004819d0
add esp, 0xc
test eax, eax
mov eax, dword [esi + 0x18]
mov cl, byte [eax]
je 0x44ced6
or cl, 2
mov byte [eax], cl
jmp case.0x449d9d.192
and cl, 0xfd
mov byte [eax], cl
jmp case.0x449d9d.192
mov edx, dword [ebp - 4]
xor ecx, ecx
xor eax, eax
mov cl, byte [edx]
add edx, 3
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 4], edx
mov ch, byte [edx - 2]
mov cl, byte [edx - 1]
mov edx, ecx
cmp dx, 0xffff
je 0x44cf0f
and edx, 0xffff
mov ecx, esi
call fcn.004833f0
mov edx, dword [esi + 0x68]
mov ecx, eax
mov dword [0x49d42c], edx
mov edx, edi
call fcn.0046f9d0
jmp case.0x449d9d.192
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov dx, word [ecx + 0xac]
cmp dx, 0xffff
jne 0x44cf43
mov dword [esi + 0x28], 0
jmp 0x44cf53
and edx, 0xffff
mov ecx, esi
call fcn.004833f0
mov dword [esi + 0x28], eax
lea ecx, [ebp - 4]
call fcn.0046b630
mov ecx, dword [ebp - 4]
mov edx, dword [esi + 0x68]
push eax
push ecx
lea ebx, [eax + ecx]
mov dword [0x49d42c], edx
call fcn.0043b050
add esp, 8
mov dword [ebp - 4], ebx
jmp case.0x449d9d.192
mov edx, dword [ebp - 8]
push 8
lea ecx, [ebp - 4]
call fcn.0046abc0
mov ecx, dword [0x49d440]
mov edx, dword [0x49d438]
mov eax, dword [esi + 0x68]
push ecx
push edx
mov dword [0x49d42c], eax
call fcn.0043b110
add esp, 8
jmp case.0x449d9d.192
mov ecx, dword [ebp - 4]
xor eax, eax
add ecx, 2
mov dword [ebp - 4], ecx
mov ah, byte [ecx - 2]
mov al, byte [ecx - 1]
test ah, 0x80
jne 0x44cfd1
and eax, 0xffff
add ecx, eax
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
not eax
and eax, 0xffff
or edx, 0xffffffff
sub edx, eax
add ecx, edx
mov dword [ebp - 4], ecx
jmp case.0x449d9d.192
mov eax, dword [ebp - 4]
xor ecx, ecx
add eax, 2
mov dword [ebp - 4], eax
mov ch, byte [eax - 2]
mov cl, byte [eax - 1]
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x60]
mov edi, dword [edx + ecx*4]
mov ecx, dword [esi + 0x18]
mov ebx, edi
mov dl, byte [ecx + 0x34]
sar ebx, 0x18
cmp bl, dl
je 0x44d023
push 0xa1
call fcn.00425880
mov eax, dword [ebp - 8]
add esp, 4
test bl, bl
jne 0x44d040
mov edx, dword [eax + 4]
and edi, 0xffffff
mov eax, dword [edx + 0x40]
mov dword [ebp - 4], eax
add eax, edi
mov dword [ebp - 4], eax
jmp case.0x449d9d.192
mov ecx, dword [eax + 4]
and edi, 0xffffff
mov edx, dword [ecx + 0x44]
mov eax, edx
mov dword [ebp - 4], edx
add eax, edi
mov dword [ebp - 4], eax
jmp case.0x449d9d.192
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp - 4]
dec eax
pop edi
mov dword [esi + 0x80], eax
mov eax, dword [esi + 4]
pop esi
pop ebx
mov dword [eax + 0x20], ecx
mov esp, ebp
pop ebp
ret