Function at 0x4a49f0
Capabilities:
Check http status code
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x54
mov eax, dword [0xa59884]
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor edi, edi
cmp eax, 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edi
mov esi, 8
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], 0x258
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], edi
jne 0x4a4a34
mov dword [esp + 0x54], 0x300
jmp 0x4a4a41
cmp eax, 3
jne 0x4a4a41
mov dword [esp + 0x54], 0x400
mov ecx, ebx
call fcn.004abf00
mov ecx, ebx
call fcn.004ac010
cmp dword [0x116fb2c], edi
je 0x4a4a67
cmp dword [0x116fb34], edi
je 0x4a4a67
mov dword [esp + 0x1c], 1
cmp dword [ebx + 0x8c], edi
je 0x4a4a77
mov dword [esp + 0x38], 4
mov ecx, dword [ebx + 0x88]
mov eax, dword [ebx + 0x84]
add ecx, 0x2a
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x38]
shl ecx, 5
inc eax
add ecx, 0x46
mov dword [ebx + 0x94], ecx
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xb4], edi
mov dword [esp + 0x18], eax
mov eax, dword [0x116fafc]
mov ecx, 8
cmp eax, edi
mov dword [0x85a3dc], ecx
jne 0x4a4ac7
mov esi, ecx
jmp 0x4a4ae9
cmp eax, 6
jne 0x4a4ad3
mov esi, 0x13a18
jmp 0x4a4ae9
cmp eax, 4
jne 0x4a4adf
mov esi, 0x27428
jmp 0x4a4ae9
cmp eax, 2
jne 0x4a4ae9
mov esi, 0x3ae38
cmp dword [ebx + 0x90], edi
je 0x4a4b1a
cmp dword [ebx + 0x8c], edi
jne 0x4a4b04
mov edi, 0x40
mov dword [esp + 0x48], ecx
jmp 0x4a4b11
mov edi, 0x80
mov dword [esp + 0x48], 0x10
lea edx, [edi + 8]
mov dword [0x85a3dc], edx
mov eax, dword [ebx + 0x78]
add eax, edi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
add ecx, eax
mov eax, dword [ebx + 0x74]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add eax, esi
lea esi, [eax + ecx - 2]
mov ecx, ebx
mov dword [esp + 0x3c], esi
call fcn.004a82b0
mov eax, dword [ebx + esi*4 + 0x4e5e4]
mov esi, dword [0x116fafc]
movsx ebp, word [ebx + eax*2 + 0x271bc]
mov dword [esp + 0x5c], ebp
lea edx, [ebp + ebp*2 + 0x621c9]
mov ecx, dword [ebx + edx*4]
mov edx, dword [ebx + 0xa4]
sub eax, ecx
mov ecx, dword [ebx + 0xa0]
cmp esi, 6
jne 0x4a4b8e
mov esi, ecx
mov ecx, edx
neg esi
jmp 0x4a4ba4
cmp esi, 4
jne 0x4a4b99
neg ecx
neg edx
jmp 0x4a4ba6
cmp esi, 2
jne 0x4a4ba6
neg edx
mov esi, ecx
mov ecx, edx
mov edx, esi
add ecx, eax
mov eax, dword [ebx + 0x8c]
add edx, ebp
mov dword [ebx + 0x98], ecx
mov dword [ebx + 0x9c], edx
mov dword [0xb3491c], eax
mov eax, dword [0xb08908]
cmp eax, 0xe
je 0x4a4bd0
cmp eax, 0xc
jne 0x4a4bd5
mov eax, dword [0xb0890c]
mov eax, dword [ebx + 0x8c]
xor esi, esi
cmp eax, esi
jne 0x4a4bed
mov ecx, dword [0xa59864]
add ecx, 0x18
push ecx
jmp 0x4a4bf8
mov edx, dword [0xa59864]
lea eax, [edx + edx + 0x20]
push eax
push edi
mov ecx, 0xb348c8
call fcn.0043f250
mov ecx, dword [0xa598c0]
mov eax, dword [ebx + 0x7c]
mov dword [ebx + 0x70], ecx
mov edx, dword [0x14ead68]
add edx, eax
mov eax, dword [ebx + 0x80]
shl edx, 1
mov edi, ecx
add edi, edx
mov dword [ebx + 0x70], edi
mov ecx, dword [0x14ead6c]
add eax, ecx
mov edx, edi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x24], esi
lea ecx, [eax*8]
sub ecx, eax
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
shl eax, 4
add eax, edx
mov edx, 1
mov dword [ebx + 0x70], eax
mov eax, dword [0x12bc308]
cmp eax, edx
mov dword [0xb348cc], edx
mov ecx, edx
jle 0x4a4c8d
mov eax, 0x12bc9c8
cmp word [eax + 0x78], si
je 0x4a4c7d
mov word [eax], si
mov word [eax + 2], si
mov word [eax + 4], si
mov word [eax + 6], si
mov edi, dword [0x12bc308]
inc ecx
add eax, 0x414
cmp ecx, edi
jl 0x4a4c68
mov ecx, dword [0x143b724]
mov eax, edx
cmp ecx, edx
jle 0x4a4cb2
mov ecx, 0x143ba80
mov word [ecx], si
mov edx, dword [0x143b724]
inc eax
add ecx, 0x2c8
cmp eax, edx
jl 0x4a4c9e
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
mov dword [esp + 0x48], eax
jge 0x4a7cc6
mov esi, dword [esp + 0x38]
mov ecx, ebx
call fcn.004a82e0
mov ecx, dword [esp + 0x4c]
lea eax, [ecx - 0x2a]
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jl 0x4a4cff
mov edx, dword [esp + 0x3c]
add esi, edx
mov eax, dword [ebx + esi*4 + 0x4e5fc]
test byte [eax*4 + 0xe44eb0], 0x30
jne 0x4a7cc6
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
cmp edx, eax
jne 0x4a4d22
mov eax, dword [ebx + 0x94]
mov dword [esp + 0x18], ecx
add eax, 0x10
mov dword [0x85a3d8], eax
jmp 0x4a4d32
mov ecx, dword [ebx + 0x94]
mov dword [esp + 0x18], eax
mov dword [0x85a3d8], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], esi
cmp esi, eax
jge 0x4a7158
mov edi, dword [0x8374f4]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
jmp 0x4a4d60
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov edi, dword [0x8374f4]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
lea ecx, [ecx + eax + 0x13977]
mov ecx, dword [ebx + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, dword [ecx*4 + 0xe44eb0]
test cl, 0x30
mov dword [0x85a3ec], ecx
je 0x4a4dae
mov edx, dword [0x837318]
mov dword [0x85a3f8], 0
add edx, 0x140
mov dword [0x85a3e8], edx
call fcn.00444e60
jmp 0x4a7115
mov ebp, dword [esp + 0x10]
xor ecx, ecx
cmp eax, 2
mov cx, word [ebp*2 + 0xd321d0]
mov dword [0x85a3e8], ecx
jl 0x4a4dde
mov esi, dword [esp + 0x18]
add esi, 0xfffffffe
cmp eax, esi
jge 0x4a4dde
mov dword [esp + 0x28], 1
xor esi, esi
jmp 0x4a4de4
xor esi, esi
mov dword [esp + 0x28], esi
mov eax, dword [ebx + 0xb8]
cmp eax, esi
je 0x4a4e94
cmp eax, 1
jne 0x4a4e01
movsx edx, word [ebp*2 + 0x1030210]
jmp 0x4a4e0d
cmp eax, 2
jne 0x4a4e11
movsx edx, byte [ebp + 0x1057630]
mov dword [esp + 0x20], edx
cmp edx, esi
je 0x4a4e94
cmp eax, 2
jne 0x4a4e7f
mov ecx, dword [0x116fafc]
and edx, 0xff
mov eax, 0xff
sub eax, edx
cmp ecx, 2
mov dword [esp + 0x20], eax
jne 0x4a4e3a
push 6
jmp 0x4a4e49
cmp ecx, 4
jne 0x4a4e42
push ecx
jmp 0x4a4e49
cmp ecx, 6
jne 0x4a4e63
push 2
push eax
mov ecx, 0x116fd10
call fcn.0045f0a0
mov edi, dword [0x8374f4]
and eax, 0xff
mov dword [esp + 0x20], eax
cmp eax, 0x100
jl 0x4a4e73
sub eax, 0x100
mov dword [esp + 0x20], eax
mov ecx, dword [0x837318]
lea ecx, [ecx + eax + 0x40]
jmp 0x4a4e8e
mov eax, dword [0x837318]
and edx, 0x3f
mov dword [esp + 0x20], edx
lea ecx, [eax + edx]
mov dword [0x85a3e8], ecx
movsx edx, word [ebp*2 + 0xf44950]
lea eax, [ebp*2 + 0xebb2e0]
mov dword [esp + 0x2c], edx
mov edx, dword [0x85a3ec]
mov dword [esp + 0x50], eax
movsx eax, word [eax]
test dl, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], esi
mov dword [0x85a3c8], esi
je 0x4a50fd
movsx ecx, word [ebp*2 + 0xe1da90]
mov dl, byte [ebp + 0xe93d30]
mov eax, ecx
and eax, 0xf
and ecx, 0x7f
test dl, 8
mov dword [0x85a3f0], eax
mov dword [0x85a3fc], ecx
mov dword [0x85a3f8], esi
mov dword [0x85a3d0], 8
je 0x4a4f4b
mov cl, byte [ebp*2 + 0xfcdfc0]
and cl, 0x20
neg cl
sbb ecx, ecx
and ecx, 0x5a
mov dword [0x85a3c8], ecx
mov ecx, dword [ebx + 0x18b764]
add ecx, eax
cmp ecx, 0x10
mov dword [0x85a3f0], ecx
jl 0x4a4f34
sub ecx, 0x10
mov dword [0x85a3f0], ecx
xor edx, edx
mov dx, word [ebp*2 + 0xd321d0]
add edx, ecx
mov dword [0x85a3e8], edx
jmp 0x4a50de
mov dx, word [ebp*2 + 0xfcdfc0]
test dl, 0x80
je 0x4a4f8d
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebx + 0x18b75c]
sar ecx, 1
add eax, ecx
mov ecx, 0xc
cdq
idiv ecx
xor eax, eax
mov ax, word [ebp*2 + 0xd321d0]
mov ecx, dword [edx*4 + 0x601664]
add ecx, eax
mov dword [0x85a3e8], ecx
jmp 0x4a50de
test dl, 0x40
je 0x4a506e
mov edi, dword [0x837518]
xor esi, esi
mov si, word [ebp*2 + 0xd321d0]
lea edx, [edi + 0x5dc]
cmp esi, edx
jne 0x4a4ffd
mov eax, dword [ebx + 0x18b75c]
add eax, ecx
and eax, 0x8000001f
jns 0x4a4fc4
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x12
cdq
jge 0x4a4fde
mov ecx, 6
idiv ecx
add edx, esi
mov dword [0x85a3e8], edx
jmp 0x4a50de
mov ecx, 0xc
idiv ecx
mov edx, dword [edx*4 + 0x601664]
lea eax, [edx + edi + 0x5d0]
mov dword [0x85a3e8], eax
jmp 0x4a50de
lea edx, [edi + 0x5e2]
cmp esi, edx
jne 0x4a5035
mov eax, dword [ebx + 0x18b75c]
add eax, ecx
and eax, 0x8000001f
jns 0x4a501b
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x12
mov ecx, 0xc
cdq
jge 0x4a4fe3
idiv ecx
add edx, esi
mov dword [0x85a3e8], edx
jmp 0x4a50de
lea edx, [edi + 0x5ee]
cmp esi, edx
jne 0x4a50de
mov eax, dword [ebx + 0x18b75c]
add eax, ecx
and eax, 0x8000001f
jns 0x4a5057
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x12
cdq
jge 0x4a4fde
mov ecx, 0x12
idiv ecx
add edx, esi
mov dword [0x85a3e8], edx
jmp 0x4a50de
mov ecx, edx
and ecx, 0x100
test cx, cx
je 0x4a50a3
mov edx, dword [ebx + 0x18b758]
mov eax, dword [edx*4 + 0x60182c]
mov ecx, eax
shl ecx, 4
add ecx, eax
xor edx, edx
mov dx, word [ebp*2 + 0xd321d0]
lea eax, [edx + ecx*2]
mov dword [0x85a3e8], eax
jmp 0x4a50de
and edx, 0x200
test dx, dx
jne 0x4a50de
and eax, 7
lea ecx, [ebx + 0x18b634]
mov dword [0x85a3f0], eax
mov edx, 0x2d
cmp ebp, dword [ecx - 0xf0]
jne 0x4a50d8
mov edi, dword [ecx]
mov esi, eax
and esi, 3
lea esi, [edi + esi*8 + 1]
mov dword [esp + 0x58], esi
add ecx, 4
dec edx
jne 0x4a50c1
push 2
mov ecx, 0xc757c0
call fcn.0043cf10
mov ecx, dword [0x85a3e8]
mov edi, dword [0x8374f4]
xor esi, esi
jmp 0x4a5432
test edx, 0x100000
je 0x4a529f
xor eax, eax
xor ecx, ecx
mov al, byte [ebp + 0xfba5b0]
mov cl, byte [ebp + 0xf6bd70]
mov dword [0x85a3d0], eax
mov al, byte [ebp + 0xe93d30]
mov edx, dword [ecx*4 + 0xce3590]
test al, 0xc8
mov dword [0x85a3f8], edx
je 0x4a5185
mov cl, byte [ebp*2 + 0xfcdfc0]
and cl, 0x20
neg cl
sbb ecx, ecx
xor eax, eax
mov ax, word [ebp*2 + 0xdcf250]
and ecx, 0x5a
mov dword [0x85a3c8], ecx
mov edx, dword [ebx + 0x18b764]
add eax, edx
mov dword [0x85a3f0], eax
and eax, 0x8000000f
jns 0x4a516f
dec eax
or eax, 0xfffffff0
inc eax
xor edx, edx
mov dx, word [ebp*2 + 0xd321d0]
add eax, edx
mov dword [0x85a3e8], eax
jmp 0x4a5282
test al, 7
je 0x4a51d9
mov al, byte [ebp*2 + 0xfcdfc0]
and al, 0x20
neg al
sbb eax, eax
xor ecx, ecx
and eax, 0x5a
mov cx, word [ebp*2 + 0xdcf250]
mov dword [0x85a3c8], eax
mov eax, dword [ebx + 0x18b764]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [0x85a3f0], ecx
and ecx, 0x80000007
jns 0x4a51c8
dec ecx
or ecx, 0xfffffff8
inc ecx
xor edx, edx
mov dx, word [ebp*2 + 0xd321d0]
add ecx, edx
jmp 0x4a527c
test al, 0x10
je 0x4a5228
mov al, byte [ebp*2 + 0xfcdfc0]
and al, 0x20
neg al
sbb eax, eax
and eax, 0x5a
mov dword [0x85a3c8], eax
mov edi, dword [ebx + 0x18b764]
xor eax, eax
mov ax, word [ebp*2 + 0xdcf250]
add eax, edi
mov dword [0x85a3f0], eax
and eax, 0x8000000f
jns 0x4a5215
dec eax
or eax, 0xfffffff0
inc eax
xor ecx, ecx
mov cx, word [ebp*2 + 0xd321d0]
add eax, ecx
mov dword [0x85a3e8], eax
jmp 0x4a5282
test al, 0x20
je 0x4a5282
mov dl, byte [ebp*2 + 0xfcdfc0]
and dl, 0x20
neg dl
sbb edx, edx
xor ecx, ecx
and edx, 0x5a
mov cx, word [ebp*2 + 0xdcf250]
mov dword [0x85a3c8], edx
mov eax, dword [ebx + 0x18b764]
cdq
sub eax, edx
shr ecx, 0xa
sar eax, 1
add ecx, eax
mov dword [0x85a3f0], ecx
and ecx, 0x80000007
jns 0x4a5270
dec ecx
or ecx, 0xfffffff8
inc ecx
xor eax, eax
mov ax, word [ebp*2 + 0xd321d0]
add ecx, eax
mov dword [0x85a3e8], ecx
push 7
mov ecx, 0xc757c0
call fcn.0043cf10
mov ecx, dword [0x85a3e8]
mov edi, dword [0x8374f4]
jmp 0x4a5432
cmp edx, 0xa0008000
jne 0x4a53b7
xor ecx, ecx
xor eax, eax
mov cl, byte [ebp + 0xf6bd70]
mov al, byte [ebp + 0xfba5b0]
mov dword [0x85a3d0], eax
mov al, byte [ebp*2 + 0xe1da90]
mov edx, dword [ecx*4 + 0xce3590]
and eax, 7
mov dword [0x85a3f8], edx
mov ecx, dword [ebx + 0x18b760]
cmp ecx, esi
je 0x4a52e9
inc word [ebp*2 + 0xdcf250]
xor ecx, ecx
cmp eax, esi
mov cx, word [ebp*2 + 0xdcf250]
mov dword [0x85a3f0], ecx
jne 0x4a5333
cmp ecx, 0x1ff
jl 0x4a5315
xor ecx, ecx
mov word [ebp*2 + 0xdcf250], si
mov dword [0x85a3f0], ecx
movsx ecx, byte [ecx + 0x6018ac]
xor edx, edx
mov dx, word [ebp*2 + 0xd321d0]
add ecx, edx
mov dword [0x85a3e8], ecx
jmp 0x4a5432
cmp eax, 1
jne 0x4a536e
cmp ecx, 0x1ff
jl 0x4a5350
xor ecx, ecx
mov word [ebp*2 + 0xdcf250], si
mov dword [0x85a3f0], ecx
movsx ecx, byte [ecx + 0x601aac]
xor eax, eax
mov ax, word [ebp*2 + 0xd321d0]
add ecx, eax
mov dword [0x85a3e8], ecx
jmp 0x4a5432
cmp eax, 4
je 0x4a5396
cmp eax, 5
je 0x4a5396
cmp ecx, 0x7f
jl 0x4a538d
xor ecx, ecx
mov word [ebp*2 + 0xdcf250], si
mov dword [0x85a3f0], ecx
movsx ecx, byte [ecx + 0x601cac]
jmp 0x4a531c
cmp ecx, 0xff
jl 0x4a53ae
xor ecx, ecx
mov word [ebp*2 + 0xdcf250], si
mov dword [0x85a3f0], ecx
movsx ecx, byte [ecx + 0x601cac]
jmp 0x4a5357
xor eax, eax
mov al, byte [ebp + 0xf6bd70]
mov ebp, dword [esp + 0x10]
test dh, 2
je 0x4a53de
mov dx, word [ebp*2 + 0xfcdfc0]
and edx, 0x3c0
test dx, dx
je 0x4a53de
sub eax, 8
mov eax, dword [eax*4 + 0xce3590]
mov dword [0x85a3f8], eax
mov al, byte [ebp*2 + 0xfcdfc0]
test al, 0x20
je 0x4a541c
mov eax, dword [0x116fb28]
xor esi, esi
cmp eax, esi
jne 0x4a541e
mov eax, dword [ebp*4 + 0xe44eb0]
and eax, 0x10000
neg eax
sbb eax, eax
and al, 0xe6
add eax, 0x5a
mov dword [0x85a3c8], eax
jmp 0x4a5424
xor esi, esi
mov dword [0x85a3c8], esi
xor edx, edx
mov dl, byte [ebp + 0xfba5b0]
mov dword [0x85a3d0], edx
movsx eax, word [ebp*2 + 0xee2700]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x4a56b1
mov edx, dword [ebx + 0xb8]
xor eax, eax
cmp edx, eax
mov dword [0x85a3f8], 8
je 0x4a546f
mov dword [0x85a3d0], eax
mov dword [0x85a3c8], eax
jmp 0x4a56b1
movsx eax, word [ebp*2 + 0xe1da90]
mov ebp, dword [esp + 0x24]
mov esi, eax
xor edx, edx
and esi, 0xf
cmp ebp, edx
mov dword [0x85a3d0], edx
mov dword [0x85a3c8], edx
mov dword [0x85a3f0], esi
je 0x4a5551
test dword [0x85a3ec], 0x40000000
jne 0x4a5551
mov edx, ebp
lea eax, [edx + edx*4]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, edx
mov dx, word [eax*8 + 0x143b7fa]
movsx eax, dx
mov eax, dword [eax*4 + 0x60119c]
cmp eax, 3
jne 0x4a5532
mov ebp, dword [esp + 0x10]
xor eax, eax
test byte [ebp*2 + 0xfcdfc0], 4
je 0x4a54e4
mov eax, 1
cmp dx, 3
jne 0x4a54f9
lea ecx, [edi + eax + 0x18]
mov dword [0x85a3e8], ecx
jmp 0x4a56b1
cmp dx, 7
jne 0x4a550e
lea ecx, [edi + eax + 0x1a]
mov dword [0x85a3e8], ecx
jmp 0x4a56b1
cmp dx, 0x21
jne 0x4a5523
lea ecx, [edi + eax + 0x1c]
mov dword [0x85a3e8], ecx
jmp 0x4a56b1
lea ecx, [edi + eax + 0x1e]
mov dword [0x85a3e8], ecx
jmp 0x4a56b1
test eax, eax
jl 0x4a56ad
mov ecx, dword [esp + 0x24]
and esi, 3
and ecx, 1
add edi, esi
lea edx, [ecx + eax*2]
lea ecx, [edi + edx*4]
jmp 0x4a56a7
mov edx, dword [0x85a3ec]
test dh, 1
je 0x4a565b
mov eax, edx
and edx, 0x10800
cmp edx, 0x10800
jne 0x4a55a0
and eax, 1
mov dword [0x85a3ec], eax
mov eax, dword [0x8372b0]
lea edx, [eax + 0x12b]
cmp ecx, edx
je 0x4a5598
add eax, 0x12d
cmp ecx, eax
je 0x4a5598
lea ecx, [edi + 0x29]
jmp 0x4a56a7
lea ecx, [edi + 0x2b]
jmp 0x4a56a7
test ah, 8
je 0x4a55d5
and eax, 1
mov dword [0x85a3ec], eax
mov eax, dword [0x8372b0]
lea edx, [eax + 0x86]
cmp ecx, edx
je 0x4a55cd
add eax, 0x88
cmp ecx, eax
je 0x4a55cd
lea ecx, [edi + 0x28]
jmp 0x4a56a7
lea ecx, [edi + 0x2a]
jmp 0x4a56a7
test eax, 0x10000
je 0x4a55f0
and eax, 1
and esi, 3
mov dword [0x85a3ec], eax
lea ecx, [esi + edi + 0x20]
jmp 0x4a56a7
test ah, 2
je 0x4a562f
mov ebp, dword [esp + 0x10]
and eax, 1
mov dword [0x85a3ec], eax
mov al, byte [ebp + 0xff53e0]
test al, al
je 0x4a561d
and esi, 1
lea ecx, [esi + edi + 0x2c]
mov dword [0x85a3e8], ecx
jmp 0x4a56b1
and esi, 3
lea ecx, [esi + edi + 0x24]
mov dword [0x85a3e8], ecx
jmp 0x4a56b1
mov ebp, dword [esp + 0x10]
mov al, byte [ebp + 0xff53e0]
test al, al
je 0x4a56b1
mov ecx, dword [0x85a3ec]
and ecx, 1
and esi, 1
mov dword [0x85a3ec], ecx
lea ecx, [esi + edi + 0x2c]
mov dword [0x85a3e8], ecx
jmp 0x4a56b1
test byte [0x85a3ec], 0x80
je 0x4a56ad
mov edx, dword [esp + 0x50]
movsx esi, word [edx]
cmp esi, 0x7d0
jl 0x4a56ad
sub esi, 0x7d0
shl esi, 5
cmp word [esi + 0x1205dda], 1
jle 0x4a56ad
and eax, 3
mov ecx, 0x11b9ad0
inc eax
push eax
call fcn.004aeff0
movsx ecx, word [esi + 0x1205dd2]
mov edx, dword [ecx*4 + 0x837280]
lea ecx, [eax + edx - 1]
mov dword [0x85a3e8], ecx
mov ebp, dword [esp + 0x10]
xor eax, eax
xor esi, esi
mov ax, word [ebp*2 + 0xd80a10]
mov dword [esp + 0x40], esi
test eax, eax
mov dword [0x85a3d4], eax
je 0x4a571d
mov edx, dword [0x116fb94]
test edx, edx
je 0x4a56ec
test byte [ebp*2 + 0xfcdfc1], 0x80
jne 0x4a56ec
mov esi, 1
mov dword [esp + 0x40], esi
jmp 0x4a5775
mov ecx, eax
mov eax, dword [0x85a3ec]
test ah, 1
mov dword [0x85a3e8], ecx
je 0x4a5775
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4a5775
xor eax, eax
mov al, byte [ebp + 0xf7f780]
mov edx, dword [eax*4 + 0xce3590]
mov dword [0x85a3f8], edx
jmp 0x4a5775
mov eax, dword [0x85a3ec]
test ah, 0x40
je 0x4a5775
mov eax, dword [0x116fc10]
test eax, eax
je 0x4a5775
mov eax, dword [0x1215de0]
test eax, eax
je 0x4a5836
push ebp
mov ecx, 0xcdfd50
call fcn.004d0fb0
mov ecx, dword [0x12b11ac]
shl eax, 4
movsx eax, byte [eax + 0x111badc]
cmp eax, ecx
jne 0x4a576f
mov esi, 1
mov dword [0x85a3d4], 0x39
mov dword [esp + 0x40], esi
mov ecx, dword [0x85a3e8]
movsx eax, word [ebp*2 + 0xf1d530]
test eax, eax
mov dword [esp + 0x50], eax
je 0x4a57b7
cmp eax, dword [0x12bc314]
jne 0x4a57b7
cmp dword [0xcdf6f4], 2
jne 0x4a57b7
mov ecx, eax
shl ecx, 6
add ecx, eax
lea edx, [eax + ecx*4]
mov eax, dword [0x837318]
mov cl, byte [edx*4 + 0x12bc694]
and ecx, 0x3f
add ecx, eax
mov dword [0x85a3e8], ecx
mov eax, dword [0xb089ec]
test eax, eax
jne 0x4a57c8
mov dword [esp + 0x50], 0
test byte [0x85a3ec], 8
je 0x4a57ff
mov ax, word [ebp*2 + 0xfcdfc0]
and eax, 0x2000
test ax, ax
jne 0x4a57ff
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4a57ff
xor edx, edx
mov dl, byte [ebp + 0xf6bd70]
mov eax, dword [edx*4 + 0xce35a0]
mov dword [0x85a3f8], eax
mov edi, dword [esp + 0x24]
test edi, edi
je 0x4a5822
mov eax, dword [ebx + 0x70]
mov dx, word [0x8380d8]
mov cx, word [eax]
mov word [eax], dx
mov word [esp + 0x30], cx
mov ecx, dword [0x85a3e8]
cmp dword [0x85a3d0], 0xff
jne 0x4a584e
inc dword [ebx + 0xb0]
jmp 0x4a5891
mov esi, 1
mov dword [0x85a3d4], 0x39
mov dword [esp + 0x40], esi
jmp 0x4a5775
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4a5897
call fcn.00444e60
test esi, esi
je 0x4a5891
mov eax, dword [0x85a3c8]
mov ecx, dword [0x85a3f8]
mov edx, dword [0x85a3dc]
sub eax, ecx
mov ecx, dword [0x85a3d8]
add eax, edx
mov edx, dword [0x85a3d4]
push 0x18
push eax
push ecx
push edx
push 0x10
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [0x85a3e8]
mov eax, ecx
shl eax, 4
mov dl, byte [eax + 0x75c68c]
test dl, dl
je 0x4a5911
test edi, edi
jne 0x4a5911
mov edx, dword [esp + 0x28]
test edx, edx
je 0x4a5911
test esi, esi
jne 0x4a5911
mov ecx, dword [ecx*4 + 0x68d4fc]
mov esi, dword [0xb34940]
movsx edx, word [eax + 0x75c68a]
lea ecx, [ecx + esi + 0x200]
mov esi, dword [0x85a3dc]
push ecx
lea ecx, [edx + 7]
push ecx
movsx ecx, byte [eax + 0x75c68e]
push ecx
mov ecx, dword [0x85a3c8]
sub ecx, edx
mov edx, dword [0x85a3f8]
sub ecx, edx
movsx edx, byte [eax + 0x75c68d]
add ecx, esi
push ecx
mov ecx, dword [0x85a3d8]
add edx, ecx
mov ecx, 0xb348c8
push edx
call fcn.0043f870
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4a594d
mov ecx, dword [0x85a3dc]
mov edx, dword [0xc1097c]
mov esi, dword [0xc10978]
sub ecx, edx
mov edx, dword [0x85a3d8]
add ecx, 7
sub edx, esi
push ecx
add edx, 0xf
mov ecx, 0xb348c8
push edx
push eax
push 0xad
call fcn.0043f2f0
test edi, edi
je 0x4a5974
mov eax, dword [ebx + 0x70]
mov cx, word [eax]
cmp cx, word [0x8380d8]
je 0x4a596c
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x24], 0
jmp 0x4a5974
mov dx, word [esp + 0x30]
mov word [eax], dx
mov eax, dword [0x85a3ec]
test eax, 0x201
jne 0x4a5acd
test edi, edi
jne 0x4a5acd
mov cx, word [ebp*2 + 0xfcdfc0]
and ecx, 0x3c0
test ecx, ecx
je 0x4a5acd
mov edx, dword [0x85a3d4]
test edx, edx
je 0x4a59c3
test ah, 0x40
je 0x4a5acd
mov edx, dword [0x116fc10]
test edx, edx
je 0x4a5acd
test al, 0x30
jne 0x4a5acd
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4a5acd
xor edx, edx
mov dx, word [ebp*2 + 0xdcf250]
mov eax, edx
mov esi, dword [edx*4 + 0xce3590]
sub eax, esi
xor esi, esi
mov si, word [ebp*2 + 0xd595f0]
test cl, 0x40
mov dword [0x85a3e8], esi
je 0x4a5a1a
mov ebp, dword [0x85a3c8]
mov ecx, dword [0x85a3dc]
sub eax, edx
add eax, ebp
lea edx, [eax + ecx + 7]
jmp 0x4a5ab9
test cl, 0x80
je 0x4a5a7c
mov ecx, dword [0x837358]
mov ebp, dword [0xb34940]
lea esi, [ecx + esi - 1]
mov ecx, esi
mov esi, dword [esi*4 + 0x68d4fc]
shl ecx, 4
add esi, ebp
movsx edi, word [ecx + 0x75c682]
push esi
mov esi, edi
movsx ecx, word [ecx + 0x75c680]
sub esi, eax
sub eax, edi
sub eax, edx
mov edx, dword [0x85a3c8]
add eax, edx
mov edx, dword [0x85a3dc]
push esi
push ecx
mov ecx, dword [0x85a3d8]
lea eax, [eax + edx + 0x62]
push eax
push ecx
mov ecx, 0xb348c8
call fcn.0043f870
jmp 0x4a5acd
test ch, 1
je 0x4a5aa0
mov ecx, dword [0x85a3dc]
sub eax, edx
mov edx, dword [0x85a3c8]
add eax, edx
mov edx, dword [0x85a3d8]
add eax, ecx
add edx, 0x10
push eax
push edx
jmp 0x4a5ac0
test ch, 2
je 0x4a5acd
mov ebp, dword [0x85a3c8]
mov ecx, dword [0x85a3dc]
sub eax, edx
add eax, ebp
lea edx, [eax + ecx - 1]
mov eax, dword [0x85a3d8]
push edx
push eax
push esi
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov bp, word [ecx*2 + 0xdf6670]
test ebp, ebp
je 0x4a5daa
mov eax, dword [ecx*4 + 0xe44eb0]
mov edi, dword [0x85a3f8]
test eax, 0x10000000
je 0x4a5b12
movsx eax, word [ecx*2 + 0xee2700]
push eax
mov ecx, 0x143b720
mov dword [esp + 0x28], eax
call fcn.00408e10
add edi, eax
jmp 0x4a5b49
test ah, 1
je 0x4a5b49
movsx ecx, word [ecx*2 + 0xee2700]
test ecx, ecx
mov dword [esp + 0x24], ecx
je 0x4a5b46
lea eax, [ecx + ecx*4]
lea edx, [eax + eax*8]
shl edx, 1
sub edx, ecx
cmp word [edx*8 + 0x143b7fa], 0x2f
jne 0x4a5b41
add edi, 6
jmp 0x4a5b49
add edi, 0x14
jmp 0x4a5b49
add edi, 4
lea eax, [ebp*8]
sub eax, ebp
lea esi, [ebx + eax*4]
mov eax, dword [ebx + eax*4 + 0x1899fc]
test al, 2
je 0x4a5d9c
mov ecx, dword [esp + 0x10]
test byte [ecx*2 + 0xfcdfc0], 0x10
je 0x4a5bbd
lea ecx, [ebp + 0xe0ed]
mov ebp, dword [0x85a3d8]
push 0
lea edx, [ecx*8]
sub edx, ecx
mov ecx, dword [ebx + edx*4]
mov edx, dword [esi + 0x1899e8]
push ecx
mov ecx, dword [esi + 0x1899f0]
push eax
mov eax, dword [esi + 0x1899f4]
push edx
mov edx, dword [0x85a3dc]
sub eax, edi
add ecx, ebp
add eax, edx
push eax
push ecx
push 0
mov ecx, ebx
call fcn.004a8db0
jmp 0x4a5d9c
test al, 4
je 0x4a5cb3
mov ecx, dword [0x12b11ac]
and al, 0x10
neg al
sbb eax, eax
not eax
and eax, ecx
mov dword [0x85a3f4], eax
lea eax, [ebp + 0xe0ed]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebx + edx*4]
mov dword [0x85a3e0], eax
mov eax, dword [esi + 0x1899fc]
lea ecx, [ebx + edx*4]
test al, 0x20
je 0x4a5c40
mov edx, dword [esi + 0x1899e8]
mov ebp, dword [0x85a3dc]
mov ecx, dword [ecx]
push 0
sar eax, 0x10
add eax, edx
push eax
mov eax, dword [esi + 0x1899f4]
sub eax, edi
push ecx
add eax, ebp
mov ebp, dword [0x85a3d8]
push eax
mov eax, dword [esi + 0x1899f0]
add eax, ebp
push eax
push edx
push ecx
mov ecx, 0xb348c8
call fcn.00441610
jmp 0x4a5d9c
test eax, 0xffff0000
je 0x4a5c84
mov edx, dword [esi + 0x1899f4]
mov ebp, dword [0x85a3dc]
sar eax, 0x10
sub edx, edi
push eax
mov eax, dword [esi + 0x1899f0]
add edx, ebp
mov ebp, dword [0x85a3d8]
push edx
mov edx, dword [esi + 0x1899e8]
add eax, ebp
push eax
mov eax, dword [ecx]
push edx
push eax
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4a5d9c
mov edx, dword [esi + 0x1899f4]
mov ebp, dword [0x85a3dc]
mov eax, dword [esi + 0x1899f0]
sub edx, edi
add edx, ebp
mov ebp, dword [0x85a3d8]
add eax, ebp
push edx
mov edx, dword [esi + 0x1899e8]
push eax
mov eax, dword [ecx]
push edx
push eax
jmp 0x4a5d92
test al, 0x20
je 0x4a5d09
mov ecx, dword [esi + 0x1899e8]
lea edx, [ebp + 0xe0ed]
sar eax, 0x10
lea ebp, [edx*8]
add eax, ecx
sub ebp, edx
push 0
push eax
mov eax, dword [esi + 0x1899f4]
mov edx, dword [ebx + ebp*4]
mov ebp, dword [0x85a3dc]
sub eax, edi
push edx
add eax, ebp
mov ebp, dword [0x85a3d8]
push eax
mov eax, dword [esi + 0x1899f0]
add eax, ebp
push eax
push ecx
push edx
mov ecx, 0xb348c8
call fcn.00441610
jmp 0x4a5d9c
test eax, 0xffff0000
je 0x4a5d59
mov ecx, dword [esi + 0x1899f4]
mov edx, dword [esi + 0x1899f0]
sar eax, 0x10
push eax
mov eax, dword [0x85a3dc]
sub ecx, edi
add ecx, eax
mov eax, dword [esi + 0x1899e8]
push ecx
mov ecx, dword [0x85a3d8]
add edx, ecx
push edx
push eax
lea eax, [ebp + 0xe0ed]
lea ecx, [eax*8]
sub ecx, eax
mov edx, dword [ebx + ecx*4]
mov ecx, 0xb348c8
push edx
call fcn.0043f3e0
jmp 0x4a5d9c
mov eax, dword [esi + 0x1899f4]
mov edx, dword [0x85a3dc]
mov ecx, dword [esi + 0x1899f0]
sub eax, edi
add eax, edx
mov edx, dword [esi + 0x1899e8]
push eax
mov eax, dword [0x85a3d8]
add ecx, eax
lea eax, [ebp + 0xe0ed]
push ecx
push edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, dword [ebx + ecx*4]
push edx
mov ecx, 0xb348c8
call fcn.0043f2f0
mov ebp, dword [esi + 0x189a00]
test ebp, ebp
jne 0x4a5b49
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4a5eee
mov ebp, dword [esp + 0x10]
lea esi, [eax + eax*2]
shl esi, 4
add esi, eax
shl esi, 2
cmp word [esi + 0xc7d09c], 0
je 0x4a5eee
mov eax, dword [esi + 0xc7d074]
test eax, eax
je 0x4a5ed5
mov ax, word [esi + 0xc7d09e]
cmp ax, 0x1c
je 0x4a5dfe
cmp ax, 0x1d
je 0x4a5dfe
cmp ax, 0x17
jne 0x4a5ed5
cmp word [esi + 0xc7d094], 0
je 0x4a5ed5
movsx eax, word [esi + 0xc7d07a]
mov ecx, dword [esi + 0xc7d07c]
mov edi, dword [0x85a3f8]
mov dword [0x85a3e0], eax
mov eax, dword [ebp*4 + 0xe44eb0]
test eax, 0x10000000
mov dword [0x85a3f4], ecx
je 0x4a5e53
movsx eax, word [ebp*2 + 0xee2700]
push eax
mov ecx, 0x143b720
mov dword [esp + 0x28], eax
call fcn.00408e10
add edi, eax
jmp 0x4a5e8a
test ah, 1
je 0x4a5e8a
movsx ecx, word [ebp*2 + 0xee2700]
test ecx, ecx
mov dword [esp + 0x24], ecx
je 0x4a5e87
lea eax, [ecx + ecx*4]
lea edx, [eax + eax*8]
shl edx, 1
sub edx, ecx
cmp word [edx*8 + 0x143b7fa], 0x2f
jne 0x4a5e82
add edi, 6
jmp 0x4a5e8a
add edi, 0x14
jmp 0x4a5e8a
add edi, 4
movsx ecx, word [esi + 0xc7d082]
movsx edx, word [esi + 0xc7d08e]
movsx eax, word [esi + 0xc7d094]
sub ecx, edx
mov edx, dword [0x85a3dc]
push 0
sub ecx, edi
push 0
push 0x14
add ecx, edx
mov edx, dword [0x85a3d8]
push eax
push ecx
movsx eax, word [esi + 0xc7d080]
movsx ecx, word [esi + 0xc7d08c]
sub eax, ecx
mov ecx, ebx
add eax, edx
push eax
push 0xffffffffffffffff
call fcn.004a8db0
mov ecx, dword [0x1216218]
movsx eax, word [esi + 0xc7d092]
test ecx, ecx
jne 0x4a5eee
test eax, eax
jne 0x4a5dba
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
test ecx, ecx
movsx edx, word [esi*2 + 0xf44950]
mov dword [esp + 0x2c], edx
je 0x4a5f58
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, ecx
cmp word [eax*8 + 0x143b7fa], 0x31
jne 0x4a5f58
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4a5f58
mov eax, dword [0x116fb24]
test eax, eax
je 0x4a5f58
mov dl, byte [esi*2 + 0xfcdfc0]
and dl, 0xc
cmp dl, 4
jne 0x4a5f58
mov eax, dword [0x85a3c8]
mov edx, dword [0x85a3dc]
add eax, edx
push esi
push eax
mov eax, dword [0x85a3d8]
push eax
push ecx
mov ecx, ebx
call fcn.004a91d0
mov edi, dword [esp + 0x50]
test edi, edi
je 0x4a6bdb
push esi
mov ecx, 0x12bc308
call fcn.004e74c0
test edi, edi
jle 0x4a6bdb
mov ebx, dword [esp + 0x14]
mov ebp, edi
mov ecx, ebp
shl ecx, 6
add ecx, ebp
lea esi, [ebp + ecx*4]
shl esi, 2
cmp word [esi + 0x12bc62c], 0
je 0x4a6bdb
movsx eax, word [esi + 0x12bc5ac]
cmp word [esi + 0x12bc5fa], 0
mov dword [0x85a3e0], eax
je 0x4a5fbb
mov dword [0x85a3f4], 9
jmp 0x4a5fc7
mov edx, dword [esi + 0x12bc5b0]
mov dword [0x85a3f4], edx
mov eax, dword [eax*4 + 0x837280]
mov ecx, dword [esi + 0x12bc5a4]
lea eax, [eax + ecx - 1]
mov ecx, dword [0x116fb24]
test ecx, ecx
jne 0x4a5fea
mov ecx, dword [0x85a3f8]
jmp 0x4a601b
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4a600a
movsx ecx, byte [esi + 0x12bc610]
movsx edx, word [esi + 0x12bc65c]
sub ecx, edx
mov edx, dword [0x85a3f8]
jmp 0x4a6019
movsx edx, word [esi + 0x12bc65a]
xor ecx, ecx
mov cl, byte [esi + 0x12bc623]
add ecx, edx
mov dx, word [esi + 0x12bc5fc]
mov edi, dword [0x85a3d8]
add dx, word [esi + 0x12bc5c6]
sub dx, word [esi + 0x12bc5ca]
add edx, edi
mov word [esi + 0x12bc5b4], dx
mov dx, word [esi + 0x12bc624]
sub dx, word [esi + 0x12bc65c]
movsx di, byte [esi + 0x12bc610]
add dx, word [esi + 0x12bc5c8]
sub dx, word [esi + 0x12bc5cc]
add edx, edi
mov edi, dword [0x85a3dc]
sub edx, ecx
mov ecx, eax
add edx, edi
shl ecx, 4
mov word [esi + 0x12bc5b6], dx
mov dx, word [ecx + 0x75c680]
mov word [esi + 0x12bc5b8], dx
mov dl, byte [esi + 0x12bc610]
test dl, dl
je 0x4a60ad
movsx cx, dl
mov dx, word [esi + 0x12bc5cc]
sub dx, cx
add edx, 8
mov word [esi + 0x12bc5ba], dx
jmp 0x4a60bb
mov cx, word [ecx + 0x75c682]
mov word [esi + 0x12bc5ba], cx
mov ecx, dword [esi + 0x12bc608]
test ecx, ecx
je 0x4a6123
cmp ecx, 1
je 0x4a6bc3
mov edx, dword [eax*4 + 0x68d4fc]
mov ebp, dword [0xb34940]
movsx eax, word [esi + 0x12bc5ba]
movsx ecx, word [esi + 0x12bc5b8]
add edx, ebp
push edx
push eax
movsx edx, word [esi + 0x12bc5b6]
movsx eax, word [esi + 0x12bc5b4]
push ecx
push edx
push eax
mov ecx, 0xb348c8
call fcn.004421d0
mov eax, dword [esi + 0x12bc608]
cmp eax, 1
jle 0x4a6bc3
dec eax
mov dword [esi + 0x12bc608], eax
jmp 0x4a6bc3
mov ecx, dword [esi + 0x12bc604]
cmp ecx, 1
jne 0x4a616c
mov edi, dword [0xb34940]
push ecx
mov ecx, dword [eax*4 + 0x68d4fc]
movsx edx, word [esi + 0x12bc5ba]
movsx eax, word [esi + 0x12bc5b8]
add ecx, edi
push ecx
push edx
movsx ecx, word [esi + 0x12bc5b6]
movsx edx, word [esi + 0x12bc5b4]
push eax
push ecx
push edx
push ebp
mov ecx, ebx
call fcn.004a8db0
jmp 0x4a6bc3
cmp ecx, 2
jne 0x4a61b0
mov eax, dword [eax*4 + 0x68d4fc]
mov ecx, dword [0xb34940]
movsx edx, word [esi + 0x12bc5b8]
add eax, ecx
push 0
movsx ecx, word [esi + 0x12bc5ba]
push eax
push ecx
movsx eax, word [esi + 0x12bc5b6]
movsx ecx, word [esi + 0x12bc5b4]
push edx
push eax
push ecx
push ebp
mov ecx, ebx
call fcn.004a8db0
jmp 0x4a6bc3
mov edx, dword [esp + 0x10]
test byte [edx*2 + 0xfcdfc0], 0x10
je 0x4a61c3
cmp ecx, 0xffffffff
jne 0x4a6171
mov ecx, dword [0x85a3ec]
test ch, 4
je 0x4a6556
mov edx, dword [esp + 0x24]
lea ecx, [edx + edx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, edx
cmp word [ecx*8 + 0x143b7fa], 0x4b
jne 0x4a6518
mov cx, word [esi + 0x12bc5f4]
cmp cx, 2
je 0x4a6206
cmp cx, 6
jne 0x4a6518
mov ecx, dword [ebx + 0x70]
mov dx, word [0x8380d8]
mov di, word [ecx]
mov word [ecx], dx
mov cx, word [esi + 0x12bc626]
mov dword [esp + 0x30], edi
test cx, cx
jge 0x4a622a
xor edx, edx
jmp 0x4a622d
movsx edx, cx
mov eax, dword [eax*4 + 0x68d4fc]
add eax, dword [0xb34940]
movsx ecx, cx
push eax
movsx eax, word [esi + 0x12bc5ba]
sub eax, edx
movsx edx, word [esi + 0x12bc5b8]
push eax
push edx
movsx eax, word [esi + 0x12bc5b6]
movsx edx, word [esi + 0x12bc5b4]
add eax, ecx
mov ecx, 0xb348c8
push eax
push edx
call fcn.004421d0
cmp word [esi + 0x12bc84e], 2
jl 0x4a6304
movsx ecx, word [esi + 0x12bc620]
movsx eax, word [esi + 0x12bc61e]
mov dword [0x85a3f4], ecx
mov ecx, dword [esi + 0x12bc614]
test ecx, ecx
mov dword [0x85a3e0], eax
jle 0x4a6304
mov ax, word [esi + 0x12bc628]
test ax, ax
jge 0x4a62ad
xor edx, edx
jmp 0x4a62b0
movsx edx, ax
mov ebx, dword [0x85a3e0]
mov ebx, dword [ebx*4 + 0x837280]
add ebx, ecx
mov ecx, dword [ebx*4 + 0x68d4f8]
mov ebx, dword [0xb34940]
add ecx, ebx
push ecx
movsx ecx, word [esi + 0x12bc5ba]
sub ecx, edx
movsx edx, word [esi + 0x12bc5b8]
push ecx
push edx
movsx ecx, word [esi + 0x12bc5b6]
movsx edx, ax
movsx eax, word [esi + 0x12bc5b4]
add ecx, edx
push ecx
push eax
mov ecx, 0xb348c8
call fcn.004421d0
mov ebx, dword [esp + 0x14]
cmp word [esi + 0x12bc84e], 3
jl 0x4a64f2
mov edx, dword [esi + 0x12bc618]
test edx, edx
jle 0x4a6383
mov ax, word [esi + 0x12bc62a]
test ax, ax
jge 0x4a632c
xor ecx, ecx
jmp 0x4a632f
movsx ecx, ax
mov ebx, dword [0x85a3e0]
movsx eax, ax
mov ebx, dword [ebx*4 + 0x837280]
add ebx, edx
mov edx, dword [ebx*4 + 0x68d4f8]
mov ebx, dword [0xb34940]
add edx, ebx
push edx
movsx edx, word [esi + 0x12bc5ba]
sub edx, ecx
movsx ecx, word [esi + 0x12bc5b8]
push edx
push ecx
movsx edx, word [esi + 0x12bc5b6]
movsx ecx, word [esi + 0x12bc5b4]
add edx, eax
push edx
push ecx
mov ecx, 0xb348c8
call fcn.004421d0
mov ebx, dword [esp + 0x14]
mov eax, dword [0x1215de0]
test eax, eax
je 0x4a64f2
mov ax, word [esi + 0x12bc62e]
cmp ax, 0x3a
jne 0x4a6442
cmp word [esi + 0x12bc840], 0
jne 0x4a6442
movsx edx, word [esi + 0x12bc5f4]
movsx eax, word [esi + 0x12bc5b4]
movsx ecx, word [esi + 0x12bc5b6]
cmp edx, 7
ja case.default.0x4a63c9
jmp dword [edx*4 + 0x4a812c]
add eax, 0x22
jmp case.default.0x4a63c9
add eax, 0x2f
sub ecx, 0xc
jmp case.default.0x4a63c9
add eax, 0x4b
sub ecx, 0x13
jmp case.default.0x4a63c9
add eax, 0x65
sub ecx, 0xa
jmp case.default.0x4a63c9
add eax, 0x70
add ecx, 2
jmp case.default.0x4a63c9
add eax, 0x64
add ecx, 0x14
jmp case.default.0x4a63c9
add eax, 0x46
add ecx, 0x13
jmp case.default.0x4a63c9
add eax, 0x2c
add ecx, 0x17
movsx edx, word [esi + 0x12bc636]
push ecx
mov dword [0x85a3f4], edx
mov edx, dword [0xb2d540]
push eax
mov eax, dword [esi + 0x12bc924]
mov dword [0x85a3e0], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4a64dc
jmp 0x4a64d7
cmp ax, 0x3b
jne 0x4a64f2
cmp word [esi + 0x12bc840], 0
jne 0x4a64f2
movsx edx, word [esi + 0x12bc5f4]
movsx eax, word [esi + 0x12bc5b4]
movsx ecx, word [esi + 0x12bc5b6]
cmp edx, 7
ja case.default.0x4a6474
jmp dword [edx*4 + 0x4a814c]
add eax, 0x2c
sub ecx, 0x14
jmp case.default.0x4a6474
add eax, 0x31
sub ecx, 0x11
jmp case.default.0x4a6474
add eax, 0x29
sub ecx, 0xf
jmp case.default.0x4a6474
add eax, 0x22
sub ecx, 0x11
jmp case.default.0x4a6474
add eax, 0x20
sub ecx, 0x14
jmp case.default.0x4a6474
add eax, 0x28
sub ecx, 0x17
movsx edx, word [esi + 0x12bc636]
push ecx
mov dword [0x85a3f4], edx
mov edx, dword [0xb2d540]
push eax
mov eax, dword [esi + 0x12bc924]
mov dword [0x85a3e0], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4a64dc
dec eax
or eax, 0xffffffc0
inc eax
cdq
sub eax, edx
mov ecx, 0xb348c8
sar eax, 1
inc eax
push eax
push 0xbd
call fcn.0043f2f0
mov eax, dword [ebx + 0x70]
mov cx, word [eax]
cmp cx, word [0x8380d8]
je 0x4a6510
mov dword [ebx + 0x24], ebp
mov dword [ebx + 0x1c], 0
jmp 0x4a6bc3
mov word [eax], di
jmp 0x4a6bc3
mov edx, dword [eax*4 + 0x68d4fc]
mov eax, dword [0xb34940]
movsx ecx, word [esi + 0x12bc5b8]
add edx, eax
push 1
movsx eax, word [esi + 0x12bc5ba]
push edx
push eax
movsx edx, word [esi + 0x12bc5b6]
movsx eax, word [esi + 0x12bc5b4]
push ecx
push edx
push eax
push ebp
mov ecx, ebx
call fcn.004a8db0
jmp 0x4a6bc3
mov ecx, dword [ebx + 0x70]
mov dx, word [0x8380d8]
mov di, word [ecx]
mov word [ecx], dx
mov cl, byte [esi + 0x12bc8ce]
mov dword [esp + 0x30], edi
test cl, cl
je 0x4a65d4
mov edx, dword [eax*4 + 0x68d4fc]
movsx eax, word [esi + 0x12bc5ba]
movsx ecx, cl
push ecx
mov ecx, dword [0xb34940]
add edx, ecx
movsx ecx, word [esi + 0x12bc5b8]
push edx
push eax
movsx edx, word [esi + 0x12bc5b6]
movsx eax, word [esi + 0x12bc5b4]
push ecx
push edx
push eax
mov ecx, 0xb348c8
call fcn.004443a0
mov eax, dword [ebx + 0x70]
mov cx, word [eax]
cmp cx, word [0x8380d8]
je 0x4a68c7
mov dword [ebx + 0x24], ebp
mov dword [ebx + 0x1c], 0
jmp 0x4a68ca
mov cx, word [esi + 0x12bc626]
test cx, cx
jge 0x4a65e4
xor edx, edx
jmp 0x4a65e7
movsx edx, cx
mov eax, dword [eax*4 + 0x68d4fc]
add eax, dword [0xb34940]
movsx ecx, cx
push eax
movsx eax, word [esi + 0x12bc5ba]
sub eax, edx
movsx edx, word [esi + 0x12bc5b8]
push eax
push edx
movsx eax, word [esi + 0x12bc5b6]
movsx edx, word [esi + 0x12bc5b4]
add eax, ecx
mov ecx, 0xb348c8
push eax
push edx
call fcn.004421d0
cmp word [esi + 0x12bc84e], 2
jl 0x4a66be
movsx ecx, word [esi + 0x12bc620]
movsx eax, word [esi + 0x12bc61e]
mov dword [0x85a3f4], ecx
mov ecx, dword [esi + 0x12bc614]
test ecx, ecx
mov dword [0x85a3e0], eax
jle 0x4a66be
mov ax, word [esi + 0x12bc628]
test ax, ax
jge 0x4a6667
xor edx, edx
jmp 0x4a666a
movsx edx, ax
mov ebx, dword [0x85a3e0]
mov ebx, dword [ebx*4 + 0x837280]
add ebx, ecx
mov ecx, dword [ebx*4 + 0x68d4f8]
mov ebx, dword [0xb34940]
add ecx, ebx
push ecx
movsx ecx, word [esi + 0x12bc5ba]
sub ecx, edx
movsx edx, word [esi + 0x12bc5b8]
push ecx
push edx
movsx ecx, word [esi + 0x12bc5b6]
movsx edx, ax
movsx eax, word [esi + 0x12bc5b4]
add ecx, edx
push ecx
push eax
mov ecx, 0xb348c8
call fcn.004421d0
mov ebx, dword [esp + 0x14]
cmp word [esi + 0x12bc84e], 3
jl 0x4a68ac
mov edx, dword [esi + 0x12bc618]
test edx, edx
jle 0x4a673d
mov ax, word [esi + 0x12bc62a]
test ax, ax
jge 0x4a66e6
xor ecx, ecx
jmp 0x4a66e9
movsx ecx, ax
mov ebx, dword [0x85a3e0]
movsx eax, ax
mov ebx, dword [ebx*4 + 0x837280]
add ebx, edx
mov edx, dword [ebx*4 + 0x68d4f8]
mov ebx, dword [0xb34940]
add edx, ebx
push edx
movsx edx, word [esi + 0x12bc5ba]
sub edx, ecx
movsx ecx, word [esi + 0x12bc5b8]
push edx
push ecx
movsx edx, word [esi + 0x12bc5b6]
movsx ecx, word [esi + 0x12bc5b4]
add edx, eax
push edx
push ecx
mov ecx, 0xb348c8
call fcn.004421d0
mov ebx, dword [esp + 0x14]
mov eax, dword [0x1215de0]
test eax, eax
je 0x4a68ac
mov ax, word [esi + 0x12bc62e]
cmp ax, 0x3a
jne 0x4a67fc
cmp word [esi + 0x12bc840], 0
jne 0x4a67fc
movsx edx, word [esi + 0x12bc5f4]
movsx eax, word [esi + 0x12bc5b4]
movsx ecx, word [esi + 0x12bc5b6]
cmp edx, 7
ja case.default.0x4a6783
jmp dword [edx*4 + 0x4a816c]
add eax, 0x22
jmp case.default.0x4a6783
add eax, 0x2f
sub ecx, 0xc
jmp case.default.0x4a6783
add eax, 0x4b
sub ecx, 0x13
jmp case.default.0x4a6783
add eax, 0x65
sub ecx, 0xa
jmp case.default.0x4a6783
add eax, 0x70
add ecx, 2
jmp case.default.0x4a6783
add eax, 0x64
add ecx, 0x14
jmp case.default.0x4a6783
add eax, 0x46
add ecx, 0x13
jmp case.default.0x4a6783
add eax, 0x2c
add ecx, 0x17
movsx edx, word [esi + 0x12bc636]
push ecx
mov dword [0x85a3f4], edx
mov edx, dword [0xb2d540]
push eax
mov eax, dword [esi + 0x12bc924]
mov dword [0x85a3e0], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4a6896
jmp 0x4a6891
cmp ax, 0x3b
jne 0x4a68ac
cmp word [esi + 0x12bc840], 0
jne 0x4a68ac
movsx edx, word [esi + 0x12bc5f4]
movsx eax, word [esi + 0x12bc5b4]
movsx ecx, word [esi + 0x12bc5b6]
cmp edx, 7
ja case.default.0x4a682e
jmp dword [edx*4 + 0x4a818c]
add eax, 0x2c
sub ecx, 0x14
jmp case.default.0x4a682e
add eax, 0x31
sub ecx, 0x11
jmp case.default.0x4a682e
add eax, 0x29
sub ecx, 0xf
jmp case.default.0x4a682e
add eax, 0x22
sub ecx, 0x11
jmp case.default.0x4a682e
add eax, 0x20
sub ecx, 0x14
jmp case.default.0x4a682e
add eax, 0x28
sub ecx, 0x17
movsx edx, word [esi + 0x12bc636]
push ecx
mov dword [0x85a3f4], edx
mov edx, dword [0xb2d540]
push eax
mov eax, dword [esi + 0x12bc924]
mov dword [0x85a3e0], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4a6896
dec eax
or eax, 0xffffffc0
inc eax
cdq
sub eax, edx
mov ecx, 0xb348c8
sar eax, 1
inc eax
push eax
push 0xbd
call fcn.0043f2f0
mov eax, dword [ebx + 0x70]
mov cx, word [eax]
cmp cx, word [0x8380d8]
je 0x4a68c7
mov dword [ebx + 0x24], ebp
mov dword [ebx + 0x1c], 0
jmp 0x4a68ca
mov word [eax], di
cmp word [esi + 0x12bc5d4], 0
je 0x4a69a1
cmp word [esi + 0x12bc83e], 0
jne 0x4a69a1
mov al, byte [esi + 0x12bc8ce]
test al, al
jne 0x4a69a1
movsx eax, word [esi + 0x12bc5b8]
movsx ecx, word [esi + 0x12bc636]
sub eax, 0x16
cdq
sub eax, edx
mov edx, ecx
shl edx, 5
sub edx, ecx
sar eax, 1
lea ecx, [ecx + edx*8]
lea ecx, [ecx + ecx*2]
mov ecx, dword [ecx*8 + 0xb2152c]
test ecx, ecx
je 0x4a696d
cmp word [esi + 0x12bc62e], 0x37
je 0x4a696d
test ecx, ecx
lea edx, [ecx + ecx*4]
jle 0x4a6939
lea ecx, [ecx + edx*2 + 0x76]
jmp 0x4a6945
lea ecx, [ecx + edx*2]
mov edx, ecx
mov ecx, 0xad
sub ecx, edx
movsx edx, word [esi + 0x12bc5c4]
movsx edi, word [esi + 0x12bc5b6]
lea edx, [edx + edi - 8]
push edx
movsx edx, word [esi + 0x12bc5b4]
add edx, eax
movsx eax, word [esi + 0x12bc5d8]
push edx
add eax, ecx
jmp 0x4a6994
movsx ecx, word [esi + 0x12bc5c4]
movsx edx, word [esi + 0x12bc5b6]
lea ecx, [ecx + edx - 6]
movsx edx, word [esi + 0x12bc5b4]
add edx, eax
push ecx
movsx eax, word [esi + 0x12bc5d8]
push edx
add eax, 0x11
push eax
push 0x10
mov ecx, 0xb348c8
call fcn.0043f2f0
xor edi, edi
cmp ebp, edi
je 0x4a69fa
mov ax, word [esi + 0x12bc60e]
cmp ax, di
je 0x4a69fa
movsx eax, ax
movsx edx, word [esi + 0x12bc5c4]
lea ecx, [eax + 0xdc]
push edi
push ecx
push 0xac
movsx ecx, word [esi + 0x12bc5b6]
add eax, 0xd4
lea edx, [edx + ecx - 0x36]
movsx ecx, word [esi + 0x12bc5b4]
push edx
push ecx
push eax
push 0xac
mov ecx, 0xb348c8
call fcn.00441610
mov word [esi + 0x12bc60e], di
movsx eax, word [esi + 0x12bc60c]
dec eax
je 0x4a6b74
dec eax
je 0x4a6ad3
dec eax
jne 0x4a6bc3
movsx edx, word [esi + 0x12bc62e]
mov edi, dword [0x116fc18]
xor eax, eax
lea ebp, [edx - 0x27]
xor ecx, ecx
cmp ebp, 0x16
ja case.0x4a6a37.45
xor edx, edx
mov dl, byte [ebp + 0x4a81c8]
jmp dword [edx*4 + 0x4a81ac]
mov eax, 0x29
mov ecx, 0x3a
jmp case.0x4a6a37.45
mov eax, 0x4f
mov ecx, 0x38
jmp case.0x4a6a37.45
mov eax, 0x24
mov ecx, 0x3d
jmp case.0x4a6a37.45
mov eax, 0xfffffffd
mov ecx, 0x3c
jmp case.0x4a6a37.45
mov eax, 0x2b
mov ecx, 0x23
jmp case.0x4a6a37.45
mov eax, 0x13
mov ecx, 0x24
lea edx, [edi + 0xa4]
push 0
push edx
push 0xac
movsx edx, word [esi + 0x12bc5c4]
sub edx, ecx
movsx ecx, word [esi + 0x12bc5b6]
add edx, ecx
push edx
movsx edx, word [esi + 0x12bc5b4]
add edx, eax
add edi, 0x94
push edx
push edi
push 0xac
mov ecx, 0xb348c8
call fcn.00441610
mov word [esi + 0x12bc60c], 0
jmp 0x4a6bc3
movsx edx, word [esi + 0x12bc62e]
mov edi, dword [0x116fc18]
xor eax, eax
lea ebp, [edx - 0x27]
xor ecx, ecx
cmp ebp, 0x16
ja case.0x4a6af4.45
xor edx, edx
mov dl, byte [ebp + 0x4a81fc]
jmp dword [edx*4 + 0x4a81e0]
mov eax, 0x29
mov ecx, 0x3a
jmp case.0x4a6af4.45
mov eax, 0x4f
mov ecx, 0x38
jmp case.0x4a6af4.45
mov eax, 0x24
mov ecx, 0x3d
jmp case.0x4a6af4.45
mov eax, 0xfffffffd
mov ecx, 0x3c
jmp case.0x4a6af4.45
mov eax, 0x2b
mov ecx, 0x23
jmp case.0x4a6af4.45
mov eax, 0x13
mov ecx, 0x24
lea edx, [edi + 0x84]
push 0
push edx
push 0xac
movsx edx, word [esi + 0x12bc5c4]
sub edx, ecx
movsx ecx, word [esi + 0x12bc5b6]
add edx, ecx
push edx
movsx edx, word [esi + 0x12bc5b4]
add edx, eax
add edi, 0x74
push edx
jmp 0x4a6ab5
mov eax, dword [0x116fc18]
push edi
movsx edx, word [esi + 0x12bc5c4]
lea ecx, [eax + 0x30]
add eax, 0x20
push ecx
push 0xac
movsx ecx, word [esi + 0x12bc5b6]
lea edx, [edx + ecx - 0x46]
movsx ecx, word [esi + 0x12bc5b4]
push edx
movsx edx, word [esi + 0x12bc5ca]
lea ecx, [ecx + edx - 0x35]
push ecx
push eax
push 0xac
mov ecx, 0xb348c8
call fcn.00441610
mov word [esi + 0x12bc60c], di
mov eax, dword [0x1216218]
movsx ebp, word [esi + 0x12bc842]
test eax, eax
jne 0x4a6bdb
test ebp, ebp
jg 0x4a5f7d
mov eax, dword [esp + 0x2c]
mov ebx, dword [0x85a3dc]
test eax, eax
je 0x4a6e3f
mov eax, dword [esp + 0x2c]
lea esi, [eax + eax*2]
shl esi, 4
add esi, eax
shl esi, 2
cmp word [esi + 0xc7d09c], 0
je 0x4a6e3f
mov eax, dword [esi + 0xc7d074]
test eax, eax
je 0x4a6e21
movsx ecx, word [esi + 0xc7d07a]
cmp ecx, 0x76
mov dword [0x85a3e0], ecx
je 0x4a6c32
cmp ecx, 0x90
jne 0x4a6c4a
push 5
mov ecx, 0xc757c0
call fcn.0043cf10
mov ebx, dword [0x85a3dc]
mov ecx, dword [0x85a3e0]
mov edx, dword [esi + 0xc7d07c]
lea edi, [ecx - 0x4c]
movsx eax, word [esi + 0xc7d0b0]
xor ebp, ebp
cmp edi, 0x6f
mov dword [0x85a3f4], edx
ja case.0x4a6c73.79
xor edx, edx
mov dl, byte [edi + 0x4a8224]
jmp dword [edx*4 + 0x4a8214]
mov ebp, 1
mov edx, dword [0x116fb24]
test edx, edx
je 0x4a6c91
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x4a6c96
mov eax, dword [0x85a3f8]
test ebp, ebp
je case.0x4a6c73.79
mov dx, word [esi + 0xc7d124]
test dx, dx
jge 0x4a6d3c
movsx edx, dx
or edi, 0xffffffff
sub edi, edx
movsx edx, word [esi + 0xc7d094]
push edi
push edx
movsx edx, word [esi + 0xc7d082]
movsx edi, word [esi + 0xc7d08e]
sub edx, edi
push ecx
sub edx, eax
movsx eax, word [esi + 0xc7d080]
add edx, ebx
mov ebx, dword [0x85a3d8]
push edx
movsx edx, word [esi + 0xc7d08c]
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esi + 0xc7d074]
push eax
push ecx
mov ecx, 0xb348c8
call fcn.00441610
jmp 0x4a6e1b
mov edi, dword [esp + 0x10]
xor edx, edx
mov dl, byte [edi + 0xf6bd70]
mov edi, edx
mov edx, dword [0x85a3f8]
mov ebp, edx
sub ebp, edi
mov edi, dword [0x116fb24]
add eax, ebp
test edi, edi
je 0x4a6d35
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x4a6c9e
mov eax, edx
jmp 0x4a6c9e
je 0x4a6d87
movsx edi, word [esi + 0xc7d08e]
movsx edx, dx
push edx
movsx edx, word [esi + 0xc7d082]
sub edx, edi
sub edx, eax
movsx eax, word [esi + 0xc7d080]
add edx, ebx
mov ebx, dword [0x85a3d8]
push edx
movsx edx, word [esi + 0xc7d08c]
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esi + 0xc7d074]
push eax
push ecx
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4a6e1b
movsx edx, word [esi + 0xc7d082]
movsx edi, word [esi + 0xc7d08e]
sub edx, edi
sub edx, eax
movsx eax, word [esi + 0xc7d080]
add edx, ebx
mov ebx, dword [0x85a3d8]
push edx
movsx edx, word [esi + 0xc7d08c]
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esi + 0xc7d074]
push eax
push ecx
mov ecx, 0xb348c8
call fcn.0043f2f0
jmp 0x4a6e1b
movsx ecx, word [esi + 0xc7d094]
movsx edx, word [esi + 0xc7d124]
push 0
push ecx
mov ecx, dword [esi + 0xc7d074]
push edx
movsx edx, word [esi + 0xc7d082]
push ecx
mov edi, dword [0x85a3d8]
movsx ecx, word [esi + 0xc7d08e]
sub edx, ecx
mov ecx, dword [esp + 0x24]
sub edx, eax
movsx eax, word [esi + 0xc7d08c]
add edx, ebx
push edx
movsx edx, word [esi + 0xc7d080]
sub edx, eax
add edx, edi
push edx
push 0xffffffffffffffff
call fcn.004a8db0
mov ebx, dword [0x85a3dc]
movsx ecx, word [esi + 0xc7d092]
mov eax, dword [0x1216218]
mov dword [esp + 0x2c], ecx
test eax, eax
jne 0x4a6e3f
mov eax, ecx
test eax, eax
jne 0x4a6bed
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4a6f7a
cmp eax, 0x7d0
jge 0x4a6f7a
lea esi, [eax + eax*4]
shl esi, 3
sub esi, eax
shl esi, 2
movsx eax, word [esi + 0x11b9aec]
mov edx, dword [esi + 0x11b9ae8]
mov dword [0x85a3e0], eax
mov ecx, dword [eax*4 + 0x837280]
test eax, eax
lea ecx, [ecx + edx - 1]
jle 0x4a6f62
test ecx, ecx
je 0x4a6f62
test edx, edx
je 0x4a6f62
mov ebp, dword [0xb34940]
mov edx, dword [esi + 0x11b9af0]
mov eax, ecx
mov ecx, dword [ecx*4 + 0x68d4fc]
shl eax, 4
add ecx, ebp
mov dword [0x85a3f4], edx
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
push ecx
push edx
movsx ecx, word [esi + 0x11b9af6]
movsx edx, word [esi + 0x11b9af4]
sub ebx, ecx
mov ecx, dword [0x85a3f8]
push eax
mov eax, dword [0x85a3d8]
sub ebx, ecx
sub eax, edx
add ebx, 6
add eax, 0xe
mov edi, 1
push ebx
push eax
mov ecx, 0xb348c8
mov dword [0xb348d8], edi
call fcn.004421d0
mov eax, dword [0xb08954]
mov dword [0xb348d8], 0
cmp eax, edi
jne 0x4a6f62
cmp word [esi + 0x11b9b7c], 0
je 0x4a6f62
mov eax, dword [0x85a3dc]
mov ecx, dword [0x85a3f8]
mov edx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [0x85a3d8]
sub eax, 0xdc
push eax
mov eax, dword [edx + 0x18b75c]
add ecx, 0xffffffe2
push ecx
mov ecx, 0xc
cdq
idiv ecx
mov ecx, 0xb348c8
add edx, 0x49
push edx
push 0xa8
call fcn.0043f2f0
push 4
mov ecx, 0xc757c0
call fcn.0043cf10
push 8
mov ecx, 0xc757c0
call fcn.0043cf10
mov eax, dword [0x85a3d0]
test eax, eax
je 0x4a7115
cmp eax, 0xff
jge 0x4a7115
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4a7115
mov edi, dword [esp + 0x14]
mov edx, dword [edi + 0xb4]
inc edx
mov dword [edi + 0xb4], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [0x85a3ec]
movsx esi, word [edx*2 + 0xfcdfc0]
mov eax, esi
and eax, 3
test ch, 1
mov dword [0x85a3cc], eax
je 0x4a7010
xor eax, eax
mov ax, word [edx*2 + 0xdcf250]
test ecx, 0x10000
mov dword [0x85a3e8], eax
je 0x4a7001
xor ecx, ecx
mov cx, word [edx*2 + 0xda7e30]
mov dword [0x85a3c4], ecx
call fcn.00446090
jmp 0x4a7115
mov dword [0x85a3c4], eax
call fcn.00446090
jmp 0x4a7115
test dword [edx*4 + 0xe44eb0], 0x100000
je 0x4a70ad
xor eax, eax
mov ax, word [edx*2 + 0xda7e30]
cmp eax, 0x20
mov dword [0x85a3e8], eax
jne 0x4a7046
mov edx, dword [0x8372a4]
add edx, 0x1f
mov dword [0x85a3e8], edx
jmp 0x4a7090
add eax, dword [edi + 0x18b764]
cmp eax, 0x32
jl 0x4a7054
sub eax, 0x10
mov ecx, dword [0x8372a4]
lea edx, [eax + ecx - 1]
mov eax, dword [0x85a3d0]
cmp eax, 0x20
mov dword [0x85a3e8], edx
jle 0x4a7090
mov ecx, dword [0x85a3dc]
mov edx, dword [esp + 0x54]
sub ecx, eax
add edx, 0xffffff60
cmp ecx, edx
jge 0x4a7090
push 6
mov ecx, 0xc757c0
call fcn.0043cf10
mov eax, dword [0x85a3e8]
test esi, 0x800
mov dword [0x85a3c4], eax
je 0x4a7006
call fcn.00446620
jmp 0x4a7115
xor eax, eax
mov ax, word [edx*2 + 0xda7e30]
test esi, 0x800
mov dword [0x85a3e8], eax
mov dword [0x85a3c4], eax
je 0x4a70d0
call fcn.00446620
jmp 0x4a70d5
call fcn.00446090
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4a7115
mov ecx, dword [0x85a3c8]
mov edi, dword [0x85a3f8]
mov edx, dword [0x85a3dc]
sub ecx, edi
push 0x18
lea eax, [ecx + edx + 9]
mov edx, dword [0x85a3d4]
mov ecx, dword [0x85a3d8]
push eax
add edx, 8
push ecx
push edx
push 0x10
mov ecx, 0xb348c8
call fcn.0043f3e0
mov eax, dword [esp + 0x34]
mov edx, dword [0x85a3d8]
mov ecx, dword [esp + 0x18]
inc eax
add edx, 0x20
cmp eax, ecx
mov dword [esp + 0x34], eax
mov dword [0x85a3d8], edx
jl 0x4a4d52
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x44]
cmp dword [esp + 0x18], ebp
jne 0x4a7162
mov eax, dword [ebx + 0x94]
mov edi, ebp
mov dword [esp + 0x18], edi
add eax, 0x10
jmp 0x4a716f
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
jmp 0x4a7141
mov eax, dword [ebx + 0x94]
lea edi, [ebp + 1]
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x38]
mov dword [0x85a3d8], eax
cmp esi, edi
mov dword [esp + 0x34], esi
jge 0x4a7a92
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + esi + 0x13977]
mov ecx, dword [ebx + edx*4]
mov dword [esp + 0x10], ecx
mov eax, dword [ecx*4 + 0xe44eb0]
mov edx, eax
test dl, 0x30
mov dword [0x85a3ec], edx
jne 0x4a7a76
cmp esi, 2
jl 0x4a71c2
add edi, 0xfffffffe
mov dword [esp + 0x28], 1
cmp esi, edi
jl 0x4a71ca
mov dword [esp + 0x28], 0
xor ebp, ebp
xor edx, edx
mov bp, word [ecx*2 + 0xdf6670]
mov dx, word [ecx*2 + 0xd321d0]
lea esi, [ecx*2 + 0xd80a10]
xor ecx, ecx
mov dword [0x85a3e8], edx
mov dword [esp + 0x58], esi
mov cx, word [esi]
test ecx, ecx
mov dword [0x85a3d4], ecx
je 0x4a7206
mov edx, ecx
mov dword [0x85a3e8], edx
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov cl, byte [esi + 0xf6bd70]
mov bx, word [esi*2 + 0xfcdfc0]
test bl, 0x20
mov ecx, dword [ecx*4 + 0xce3590]
mov dword [0x85a3f8], ecx
lea ecx, [esi*2 + 0xfcdfc0]
mov dword [esp + 0x2c], ecx
je 0x4a724c
and eax, 0x10000
neg eax
sbb eax, eax
and al, 0xe6
add eax, 0x5a
mov dword [0x85a3c8], eax
jmp 0x4a7256
mov dword [0x85a3c8], 0
mov eax, dword [esp + 0x1c]
movsx esi, word [esi*2 + 0xee2700]
test eax, eax
je 0x4a747c
test esi, esi
je 0x4a732d
lea eax, [esi + esi*4]
lea edx, [eax + eax*8]
shl edx, 1
sub edx, esi
mov cx, word [edx*8 + 0x143b7fa]
movsx eax, cx
mov eax, dword [eax*4 + 0x60119c]
cmp eax, 3
jne 0x4a72ff
xor eax, eax
test bl, 4
je 0x4a729f
mov eax, 1
cmp cx, 3
jne 0x4a72ba
mov ecx, dword [0x8374f4]
lea edx, [eax + ecx + 0x18]
mov dword [0x85a3e8], edx
jmp 0x4a7472
cmp cx, 7
jne 0x4a72d5
mov ecx, dword [0x8374f4]
lea edx, [eax + ecx + 0x1a]
mov dword [0x85a3e8], edx
jmp 0x4a7472
cmp cx, 0x21
mov ecx, dword [0x8374f4]
jne 0x4a72f0
lea edx, [eax + ecx + 0x1c]
mov dword [0x85a3e8], edx
jmp 0x4a7472
lea edx, [eax + ecx + 0x1e]
mov dword [0x85a3e8], edx
jmp 0x4a7472
test eax, eax
jl 0x4a7472
mov ecx, esi
and ecx, 1
lea edx, [ecx + eax*2]
mov eax, dword [0x85a3f0]
mov ecx, dword [0x8374f4]
and eax, 3
add ecx, eax
lea edx, [ecx + edx*4]
mov dword [0x85a3e8], edx
jmp 0x4a7472
mov eax, dword [0x85a3ec]
test ah, 1
je 0x4a7418
mov ecx, eax
and ecx, 0x10800
cmp ecx, 0x10800
jne 0x4a738c
and eax, 1
mov dword [0x85a3ec], eax
mov eax, dword [0x8372b0]
lea ecx, [eax + 0x12b]
cmp edx, ecx
je 0x4a737f
add eax, 0x12d
cmp edx, eax
je 0x4a737f
mov edx, dword [0x8374f4]
add edx, 0x29
mov dword [0x85a3e8], edx
jmp 0x4a7472
mov eax, dword [0x8374f4]
add eax, 0x2b
jmp 0x4a746d
test ah, 8
je 0x4a73d2
and eax, 1
mov dword [0x85a3ec], eax
mov eax, dword [0x8372b0]
lea ecx, [eax + 0x86]
cmp edx, ecx
je 0x4a73c5
add eax, 0x88
cmp edx, eax
je 0x4a73c5
mov edx, dword [0x8374f4]
add edx, 0x28
mov dword [0x85a3e8], edx
jmp 0x4a7472
mov eax, dword [0x8374f4]
add eax, 0x2a
jmp 0x4a746d
test eax, 0x10000
je 0x4a73f6
mov ecx, dword [0x85a3f0]
mov edx, dword [0x8374f4]
and eax, 1
and ecx, 3
mov dword [0x85a3ec], eax
lea eax, [ecx + edx + 0x20]
jmp 0x4a746d
test ah, 2
je 0x4a7472
mov ecx, dword [0x85a3f0]
mov edx, dword [0x8374f4]
and eax, 1
and ecx, 3
mov dword [0x85a3ec], eax
lea eax, [ecx + edx + 0x24]
jmp 0x4a746d
test al, 0x80
je 0x4a7472
mov ecx, dword [esp + 0x10]
movsx eax, word [ecx*2 + 0xebb2e0]
cmp eax, 0x7d0
jl 0x4a7472
sub eax, 0x7d0
shl eax, 5
mov edi, eax
cmp word [edi + 0x1205dda], 1
jle 0x4a7472
mov edx, ecx
mov ecx, 0x11b9ad0
mov al, byte [edx*2 + 0xe1da90]
and eax, 3
inc eax
push eax
call fcn.004aeff0
movsx ecx, word [edi + 0x1205dd2]
mov edx, dword [ecx*4 + 0x837280]
lea eax, [eax + edx - 1]
mov dword [0x85a3e8], eax
mov dword [0x85a3f8], 8
test esi, esi
je 0x4a76f1
mov ecx, dword [esp + 0x4c]
lea eax, [ecx - 0x2a]
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jge 0x4a74bb
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4a74bb
cmp dword [esp + 0x34], 4
jle 0x4a74bb
lea eax, [esi + esi*4]
lea edx, [eax + eax*8]
shl edx, 1
sub edx, esi
inc word [edx*8 + 0x143b7b8]
lea eax, [edx*8 + 0x143b7b8]
mov edi, dword [esp + 0x14]
mov dx, word [0x8380d8]
mov eax, dword [edi + 0x70]
mov cx, word [eax]
mov word [eax], dx
mov edx, dword [0x85a3e8]
mov word [esp + 0x30], cx
mov eax, edx
shl eax, 4
mov cl, byte [eax + 0x75c68c]
test cl, cl
je 0x4a754c
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4a754c
mov edx, dword [edx*4 + 0x68d4fc]
mov ebx, dword [0xb34940]
movsx ecx, word [eax + 0x75c68a]
lea edx, [edx + ebx + 0x200]
mov ebx, dword [0x85a3f8]
push edx
lea edx, [ecx + 7]
push edx
movsx edx, byte [eax + 0x75c68e]
push edx
mov edx, dword [0x85a3c8]
movsx eax, byte [eax + 0x75c68d]
sub edx, ecx
mov ecx, dword [0x85a3dc]
sub edx, ebx
add edx, ecx
mov ecx, 0xb348c8
push edx
mov edx, dword [0x85a3d8]
add eax, edx
push eax
call fcn.0043f870
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4a759c
lea eax, [esi + esi*4]
lea ecx, [eax + eax*8]
shl ecx, 1
sub ecx, esi
movsx edx, word [ecx*8 + 0x143b7fa]
mov eax, dword [edx*4 + 0x60119c]
test eax, eax
jl 0x4a759c
mov eax, dword [edi + 0x70]
mov cx, word [eax]
cmp cx, word [0x8380d8]
je 0x4a758f
mov dword [edi + 0x1c], esi
mov dword [edi + 0x24], 0
jmp 0x4a76f5
mov dx, word [esp + 0x30]
mov word [eax], dx
jmp 0x4a76f5
lea eax, [esi + esi*4]
lea edi, [eax + eax*8]
shl edi, 1
sub edi, esi
shl edi, 3
cmp word [edi + 0x143b7fa], 0x31
jne 0x4a760c
mov eax, dword [0x116fb24]
test eax, eax
je 0x4a760c
movsx eax, word [edi + 0x143b818]
mov ebx, dword [esp + 0x14]
add eax, 0x20b45
movsx ecx, word [edi + 0x143b816]
lea eax, [eax + eax*2]
mov edx, dword [ebx + eax*4]
lea eax, [edx + ecx + 2]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jne 0x4a7610
mov edx, dword [0x85a3dc]
mov eax, dword [0x85a3c8]
push 1
push ecx
lea ecx, [eax + edx + 0x18]
mov edx, dword [0x85a3d8]
add edx, 0x10
push ecx
push edx
push esi
mov ecx, ebx
call fcn.004a9660
jmp 0x4a7610
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov cx, word [eax]
mov eax, ecx
and eax, 0xc
test ax, ax
je 0x4a76ce
cmp word [edi + 0x143b7fa], 0x31
jne 0x4a769f
mov edx, dword [0x116fb24]
test edx, edx
je 0x4a76ce
cmp ax, 0xc
jne 0x4a766e
mov ecx, dword [esp + 0x10]
mov edx, dword [0x85a3dc]
mov eax, dword [0x85a3c8]
push 0
push ecx
lea ecx, [eax + edx + 0x28]
mov edx, dword [0x85a3d8]
add edx, 0x10
push ecx
push edx
push esi
mov ecx, ebx
call fcn.004a9660
jmp 0x4a76ce
test cl, 8
je 0x4a76ce
mov eax, dword [esp + 0x10]
mov ecx, dword [0x85a3c8]
push eax
mov eax, dword [0x85a3f8]
mov edi, dword [0x85a3dc]
mov edx, dword [0x85a3d8]
sub ecx, eax
add ecx, edi
push ecx
push edx
push esi
mov ecx, ebx
call fcn.004a9770
jmp 0x4a76ce
mov eax, dword [esp + 0x10]
test cl, 8
mov ecx, dword [0x85a3c8]
push eax
mov eax, dword [0x85a3f8]
jne 0x4a7683
mov edi, dword [0x85a3dc]
mov edx, dword [0x85a3d8]
sub ecx, eax
add ecx, edi
push ecx
push edx
push esi
mov ecx, ebx
call fcn.004a91d0
mov eax, dword [ebx + 0x70]
mov cx, word [eax]
cmp cx, word [0x8380d8]
je 0x4a76e9
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x24], 0
jmp 0x4a76f1
mov dx, word [esp + 0x30]
mov word [eax], dx
mov edi, dword [esp + 0x14]
mov al, byte [0x85a3ec]
mov ebx, dword [esp + 0x2c]
test al, 8
je 0x4a7756
mov ax, word [ebx]
and eax, 0x4000
test ax, ax
je 0x4a7756
mov eax, dword [0x116fc18]
mov esi, dword [0x85a3f8]
mov edx, dword [0x85a3dc]
push 0
lea ecx, [eax + 0x10]
push ecx
mov ecx, dword [0x85a3c8]
sub ecx, esi
push 0xac
lea ecx, [ecx + edx - 0x4a]
mov edx, dword [0x85a3d8]
add edx, 0xffffffdd
push ecx
push edx
push eax
push 0xac
mov ecx, 0xb348c8
call fcn.00441610
and byte [ebx + 1], 0xbf
test ebp, ebp
je 0x4a7a58
mov ecx, dword [esp + 0x10]
mov esi, dword [0x85a3f8]
mov eax, dword [ecx*4 + 0xe44eb0]
test eax, 0x10000000
je 0x4a778f
mov eax, ecx
mov ecx, 0x143b720
movsx eax, word [eax*2 + 0xee2700]
push eax
call fcn.00408e10
add esi, eax
jmp 0x4a77c2
test ah, 1
je 0x4a77c2
movsx eax, word [ecx*2 + 0xee2700]
test eax, eax
je 0x4a77bf
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
cmp word [ecx*8 + 0x143b7fa], 0x2f
jne 0x4a77ba
add esi, 6
jmp 0x4a77c2
add esi, 0x14
jmp 0x4a77c2
add esi, 4
mov dword [esp + 0x60], esi
lea edx, [ebp*8]
sub edx, ebp
mov eax, dword [edi + edx*4 + 0x1899fc]
lea esi, [edi + edx*4]
test al, 1
je 0x4a7a4a
test al, 8
je 0x4a7803
mov eax, dword [esp + 0x10]
push 0
push eax
mov ecx, 0xcdfd50
call fcn.004d0950
test eax, eax
jge 0x4a7807
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
jmp 0x4a7807
mov eax, dword [esp + 0x60]
test byte [ebx], 0x10
je 0x4a785c
lea ecx, [ebp + 0xe0ed]
push 0
lea edx, [ecx*8]
sub edx, ecx
mov ecx, dword [edi + edx*4]
mov edx, dword [esi + 0x1899fc]
push ecx
mov ecx, dword [esi + 0x1899e8]
push edx
mov edx, dword [esi + 0x1899f4]
sub edx, eax
mov eax, dword [0x85a3dc]
add edx, eax
mov eax, dword [esi + 0x1899f0]
push ecx
push edx
mov edx, dword [0x85a3d8]
mov ecx, edi
add eax, edx
push eax
push 0
call fcn.004a8db0
jmp 0x4a7a4a
mov ecx, dword [esi + 0x1899fc]
test cl, 4
je 0x4a7965
mov edx, dword [0x12b11ac]
and cl, 0x10
neg cl
sbb ecx, ecx
not ecx
and ecx, edx
mov dword [0x85a3f4], ecx
lea ecx, [ebp + 0xe0ed]
lea edx, [ecx*8]
sub edx, ecx
mov ecx, dword [edi + edx*4]
mov dword [0x85a3e0], ecx
mov ecx, dword [esi + 0x1899fc]
lea edx, [edi + edx*4]
test cl, 0x20
je 0x4a78f2
mov edi, dword [esi + 0x1899e8]
mov ebx, dword [0x85a3dc]
mov edx, dword [edx]
mov ebp, dword [0x85a3d8]
sar ecx, 0x10
add ecx, edi
push 0
push ecx
mov ecx, dword [esi + 0x1899f4]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
add ecx, ebx
push edx
add eax, ebp
push ecx
push eax
push edi
push edx
mov ecx, 0xb348c8
call fcn.00441610
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
jmp 0x4a7a4a
test ecx, 0xffff0000
je 0x4a7937
mov ebp, dword [0x85a3dc]
mov edx, dword [edx]
sar ecx, 0x10
push ecx
mov ecx, dword [esi + 0x1899f4]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
add ecx, ebp
mov ebp, dword [0x85a3d8]
push ecx
mov ecx, dword [esi + 0x1899e8]
add eax, ebp
push eax
push ecx
push edx
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4a7a4a
mov ecx, dword [esi + 0x1899f4]
mov ebp, dword [0x85a3dc]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
mov edx, dword [edx]
add ecx, ebp
mov ebp, dword [0x85a3d8]
push ecx
mov ecx, dword [esi + 0x1899e8]
add eax, ebp
push eax
push ecx
jmp 0x4a7a3f
test cl, 0x20
je 0x4a79b6
mov edx, dword [esi + 0x1899e8]
lea edi, [ebp + 0xe0ed]
sar ecx, 0x10
lea ebx, [edi*8]
mov ebp, dword [0x85a3d8]
sub ebx, edi
mov edi, dword [esp + 0x14]
add ecx, edx
push 0
mov edi, dword [edi + ebx*4]
mov ebx, dword [0x85a3dc]
push ecx
mov ecx, dword [esi + 0x1899f4]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
add ecx, ebx
push edi
add eax, ebp
push ecx
push eax
push edx
push edi
jmp 0x4a78db
test ecx, 0xffff0000
je 0x4a7a07
sar ecx, 0x10
push ecx
mov ecx, dword [esi + 0x1899f4]
mov edx, dword [esi + 0x1899f0]
sub ecx, eax
mov eax, dword [0x85a3dc]
add ecx, eax
mov eax, dword [esi + 0x1899e8]
push ecx
mov ecx, dword [0x85a3d8]
add edx, ecx
push edx
push eax
lea eax, [ebp + 0xe0ed]
lea ecx, [eax*8]
sub ecx, eax
mov edx, dword [edi + ecx*4]
mov ecx, 0xb348c8
push edx
call fcn.0043f3e0
jmp 0x4a7a4a
mov ecx, dword [esi + 0x1899f4]
mov edx, dword [esi + 0x1899f0]
sub ecx, eax
mov eax, dword [0x85a3dc]
add ecx, eax
mov eax, dword [esi + 0x1899e8]
push ecx
mov ecx, dword [0x85a3d8]
add edx, ecx
push edx
push eax
lea eax, [ebp + 0xe0ed]
lea ecx, [eax*8]
sub ecx, eax
mov edx, dword [edi + ecx*4]
push edx
mov ecx, 0xb348c8
call fcn.0043f2f0
mov ebp, dword [esi + 0x189a00]
test ebp, ebp
jne 0x4a77c6
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x44]
mov word [eax], 0
and word [ebx], 0x7fff
mov ebx, dword [esp + 0x14]
mov ecx, dword [0x85a3d8]
inc esi
add ecx, 0x20
cmp esi, edi
mov dword [esp + 0x34], esi
mov dword [0x85a3d8], ecx
jl 0x4a7184
cmp edi, ebp
jne 0x4a7ab3
mov ebx, dword [ebx + 0x94]
mov dword [esp + 0x18], ebp
add ebx, 0x10
mov dword [esp + 0x58], 0xc8
mov dword [0x85a3d8], ebx
jmp 0x4a7ace
mov ecx, dword [ebx + 0x94]
lea eax, [ebp + 1]
mov dword [esp + 0x18], eax
mov dword [0x85a3d8], ecx
mov dword [esp + 0x58], 0xc9
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4a7c87
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x4a7c87
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
lea eax, [ebx + edx]
lea edx, [ecx + eax*4 + 0x4e5dc]
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x50]
xor ecx, ecx
mov eax, dword [eax]
mov cx, word [eax*2 + 0xd595f0]
test ecx, ecx
mov dword [0x85a3e8], ecx
je 0x4a7c60
mov cx, word [eax*2 + 0xfcdfc0]
and ecx, 0x3c0
test cx, cx
jne 0x4a7c60
cmp ebx, 2
jl 0x4a7b4c
mov edx, dword [esp + 0x18]
add edx, 0xfffffffe
cmp ebx, edx
jge 0x4a7b4c
mov esi, 1
jmp 0x4a7b4e
xor esi, esi
mov ecx, dword [eax*4 + 0xe44eb0]
test ch, 4
mov dword [0x85a3ec], ecx
je 0x4a7c60
movsx ecx, word [eax*2 + 0xee2700]
lea edx, [ecx + ecx*4]
lea edx, [edx + edx*8]
shl edx, 1
sub edx, ecx
mov cx, word [edx*8 + 0x143b7e4]
test cx, cx
lea ebp, [edx*8 + 0x143b7e4]
jle 0x4a7c60
cmp cx, 5
jge 0x4a7c60
test esi, esi
je 0x4a7c60
xor edx, edx
mov dl, byte [eax + 0xf6bd70]
movsx ecx, cx
mov edx, dword [edx*4 + 0xce3590]
mov dword [0x85a3f8], edx
xor edx, edx
mov dl, byte [eax + 0xfba5b0]
mov eax, 0x66666667
shl ecx, 5
mov dword [0x85a3d0], edx
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call fcn.00445b70
mov edi, dword [0x85a3e8]
add esp, 4
mov ecx, edi
shl ecx, 4
mov al, byte [ecx + 0x75c68c]
test al, al
je 0x4a7c60
movsx edx, word [ebp]
shl edx, 5
mov eax, 0x66666667
imul edx
sar edx, 1
movsx esi, word [ecx + 0x75c68a]
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0xb34940]
push edx
mov edx, dword [edi*4 + 0x68d4fc]
mov edi, dword [0x85a3f8]
lea edx, [edx + eax + 0x200]
lea eax, [esi + 7]
push edx
push eax
movsx edx, byte [ecx + 0x75c68e]
mov eax, dword [0x85a3dc]
push edx
movsx ecx, byte [ecx + 0x75c68d]
mov edx, dword [0x85a3d8]
sub eax, esi
sub eax, edi
add ecx, edx
push eax
push ecx
mov ecx, 0xb348c8
call fcn.00440ad0
mov edx, dword [esp + 0x50]
mov ecx, dword [0x85a3d8]
mov eax, dword [esp + 0x18]
inc ebx
add edx, 4
add ecx, 0x20
cmp ebx, eax
mov dword [esp + 0x50], edx
mov dword [0x85a3d8], ecx
jl 0x4a7b00
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add ebx, edx
mov edx, dword [0x85a3dc]
inc edi
inc eax
add edx, 8
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x14]
cmp eax, ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x48], eax
mov dword [0x85a3dc], edx
jl 0x4a4cc6
mov ecx, ebx
call fcn.004a82e0
mov ecx, ebx
call fcn.004a82e0
mov ecx, ebx
call fcn.004a82e0
mov ecx, ebx
call fcn.004a82e0
mov ecx, ebx
call fcn.004a82e0
cmp dword [0x116fc60], 0xa0
jne 0x4a7dcc
cmp dword [0xa59884], 2
jne 0x4a7dcc
mov eax, dword [ebx + 0x8c]
xor ebp, ebp
cmp eax, ebp
je 0x4a7dd6
mov eax, dword [0xb0890c]
cmp eax, 0x3c
je 0x4a7d29
cmp eax, 0x3e
jne 0x4a7dce
push 0x1a
push 0x2cc
push 0x578
push 0x2cc
push ebp
mov ecx, 0x15f7d08
mov dword [0x15f7d14], 1
call fcn.00459070
push 0x14
push 0x2cd
push 0x578
push 0x2cd
push ebp
mov ecx, 0x15f7d08
call fcn.00459070
push 0xe
push 0x2ce
push 0x578
push 0x2ce
push ebp
mov ecx, 0x15f7d08
call fcn.00459070
push 8
push 0x2cf
push 0x578
push 0x2cf
push ebp
mov ecx, 0x15f7d08
call fcn.00459070
mov ax, word [0x83810a]
mov ecx, 0x15f7d08
push eax
push 0x311
push 0x578
push 0x2d0
push ebp
call fcn.00458ee0
mov dword [0x15f7d14], ebp
jmp 0x4a7dce
xor ebp, ebp
cmp dword [ebx + 0x8c], ebp
jne 0x4a7df5
mov edi, dword [0x14ead68]
mov edx, dword [ebx + 0x7c]
mov esi, dword [ebx + 0x80]
mov ecx, dword [0x14ead6c]
add edi, edx
add esi, ecx
mov eax, edi
mov ecx, esi
jmp 0x4a7e1c
mov esi, dword [ebx + 0x80]
mov ebp, dword [0x14ead6c]
mov edx, dword [ebx + 0x7c]
mov edi, dword [0x14ead68]
lea ecx, [esi + ebp]
lea esi, [esi + ebp*2]
lea eax, [edx + edi]
lea edi, [edx + edi*2 + 0xa0]
xor ebp, ebp
cmp dword [0x8682d0], ebp
je case.default.0x4a7e4c
mov edx, dword [0x14eaf34]
cmp edx, 0x3e8
jg 0x4a804d
je 0x4a7fbb
lea eax, [edx - 1]
cmp eax, 4
ja case.default.0x4a7e4c
jmp dword [eax*4 + 0x4a8294]
mov edx, dword [0xbbcacc]
mov ecx, 0xb348c8
sub esi, edx
add esi, 0x2d
push esi
mov esi, dword [0xbbcac8]
sub edi, esi
push edi
push 0x51
push 0x6b
call fcn.0043f2f0
jmp case.default.0x4a7e4c
mov eax, dword [0x116fc20]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
lea ecx, [eax + ecx*8]
lea ecx, [ecx + ecx*2]
mov edx, dword [ecx*8 + 0xb34a04]
sub esi, edx
mov edx, dword [ecx*8 + 0xb34a00]
mov ecx, dword [0x116fc1c]
sub edi, edx
mov edx, dword [0x116fc18]
push esi
add ecx, edx
push edi
push ecx
push eax
mov ecx, 0xb348c8
call fcn.0043f2f0
jmp case.default.0x4a7e4c
mov eax, dword [0x116fc20]
push 0x15
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
lea ecx, [eax + edx*8]
mov edx, esi
lea ecx, [ecx + ecx*2]
sub edx, dword [ecx*8 + 0xb34a04]
push edx
mov edx, edi
sub edx, dword [ecx*8 + 0xb34a00]
mov ecx, dword [0x116fc18]
push edx
mov edx, dword [0x116fc1c]
lea ecx, [edx + ecx + 0x10]
push ecx
push eax
mov ecx, 0xb348c8
call fcn.0043f3e0
mov eax, dword [0x116fc20]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
lea ecx, [eax + edx*8]
lea ecx, [ecx + ecx*2]
mov edx, dword [ecx*8 + 0xb34a04]
sub esi, edx
mov edx, dword [ecx*8 + 0xb34a00]
mov ecx, dword [0x116fc18]
sub edi, edx
mov edx, dword [0x116fc1c]
push esi
add edx, ecx
push edi
push edx
push eax
mov ecx, 0xb348c8
call fcn.0043f2f0
jmp case.default.0x4a7e4c
mov eax, dword [0x116fc1c]
mov ecx, dword [0x116fc20]
add esi, 0xfffffff8
add edi, 0xfffffff8
push esi
push edi
push eax
push ecx
mov ecx, 0xb348c8
call fcn.0043f2f0
jmp case.default.0x4a7e4c
mov eax, dword [0x116fc28]
mov ebp, dword [0x116fc24]
cdq
idiv ebp
mov eax, dword [0x116fc1c]
push 0
add edx, eax
mov eax, dword [0x116fc20]
add ebp, edx
lea ecx, [eax + eax*2]
push ebp
push eax
lea ecx, [ecx + ecx*8]
lea ecx, [eax + ecx*8]
lea ecx, [ecx + ecx*2]
sub esi, dword [ecx*8 + 0xb34a04]
push esi
mov esi, dword [ecx*8 + 0xb34a00]
sub edi, esi
mov ecx, 0xb348c8
push edi
push edx
push eax
call fcn.00441610
xor ebp, ebp
jmp case.default.0x4a7e4c
lea esi, [ecx + 4]
lea edi, [eax + 0x1c]
push esi
push edi
push 0x7b
push 0x2e
mov ecx, 0xb348c8
mov dword [0xb3491c], ebp
call fcn.0043f2f0
push ebp
push ebp
push 0x12
push ebp
add esi, 3
push 0xb8eefb
add edi, 0x20
push ebp
push esi
push edi
push 0x5957d4
mov ecx, 0xabe628
mov dword [0xabe640], 1
call fcn.0045b790
mov eax, dword [0xb08954]
push ebp
push 1
push 0x12
push ebp
cmp eax, 6
mov eax, dword [0x12b11ac]
push 0xb8eefb
push ebp
push esi
push edi
mov edx, eax
jne 0x4a8039
shl edx, 5
sub edx, eax
lea eax, [eax + edx*8]
lea eax, [eax + eax*2]
mov ecx, dword [eax*8 + 0xb20454]
jmp 0x4a80c8
shl edx, 5
sub edx, eax
lea eax, [eax + edx*8]
lea eax, [eax + eax*2]
mov ecx, dword [eax*8 + 0xb204b8]
jmp 0x4a80c8
cmp edx, 0x3e9
jne case.default.0x4a7e4c
lea esi, [ecx + 4]
lea edi, [eax + 0x1c]
push esi
push edi
push 0x7e
push 0x2e
mov ecx, 0xb348c8
mov dword [0xb3491c], ebp
call fcn.0043f2f0
push ebp
push ebp
push 0x12
push ebp
add esi, 3
push 0xb8eefb
add edi, 0x20
push ebp
push esi
push edi
push 0x5957d4
mov ecx, 0xabe628
mov dword [0xabe640], 1
call fcn.0045b790
mov eax, dword [0x12b11ac]
push ebp
mov edx, eax
push 1
shl edx, 5
sub edx, eax
push 0x12
push ebp
push 0xb8eefb
lea eax, [eax + edx*8]
push ebp
push esi
push edi
lea eax, [eax + eax*2]
mov ecx, dword [eax*8 + 0xb204b0]
sub ecx, dword [0x116fc0c]
push ecx
mov ecx, 0xabe628
call fcn.0045bbd0
push ebp
push 1
push 0x12
push ebp
push 0xb8eefb
push ebp
push esi
push edi
push 0x5957d0
mov ecx, 0xabe628
call fcn.0045b790
mov dword [0xabe640], ebp
mov ecx, ebx
mov dword [0x14eaf34], 0xffffffff
call fcn.004ad0c0
mov ecx, 0xb348c8
call fcn.0043f270
pop edi
mov dword [0xb3491c], ebp
mov dword [0x116fc10], ebp
pop esi
pop ebp
pop ebx
add esp, 0x54
ret