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

Disassembly:
sub esp, 0x5c
mov eax, dword [0xba395c]
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor edi, edi
xor ebp, ebp
cmp eax, 2
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], edi
mov esi, 8
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], 0x258
mov dword [esp + 0x14], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x30], edi
jne 0x4d83aa
mov dword [esp + 0x58], 0x300
jmp 0x4d83b7
cmp eax, 3
jne 0x4d83b7
mov dword [esp + 0x58], 0x400
mov ecx, ebx
call fcn.004e0530
mov ecx, ebx
call fcn.004e0640
mov eax, dword [0x150c88c]
test eax, eax
je 0x4d83df
mov eax, dword [0x150c894]
test eax, eax
je 0x4d83df
mov dword [esp + 0x14], 1
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x4d83f2
mov ebp, 4
mov dword [esp + 0x44], ebp
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x8c]
shl ebp, 5
mov dword [esp + 0x4c], eax
inc eax
add ebp, 0x46
add ecx, 0x2a
mov dword [ebx + 0x98], ebp
mov dword [esp + 0x1c], eax
mov eax, dword [0x150c85c]
mov dword [esp + 0x54], ecx
mov ecx, 8
test eax, eax
mov dword [0x9988d4], ecx
jne 0x4d8432
mov esi, ecx
jmp 0x4d8454
cmp eax, 6
jne 0x4d843e
mov esi, 0x13a18
jmp 0x4d8454
cmp eax, 4
jne 0x4d844a
mov esi, 0x27428
jmp 0x4d8454
cmp eax, 2
jne 0x4d8454
mov esi, 0x3ae38
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x4d8488
mov eax, dword [ebx + 0x90]
test eax, eax
jne 0x4d8473
mov edi, 0x40
mov dword [esp + 0x50], ecx
jmp 0x4d8480
mov edi, 0x80
mov dword [esp + 0x50], 0x10
lea eax, [edi + 8]
mov dword [0x9988d4], eax
mov eax, dword [ebx + 0x7c]
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 + 0x78]
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.004dc320
mov eax, dword [ebx + esi*4 + 0x4e5e8]
mov esi, dword [0x150c85c]
movsx ebp, word [ebx + eax*2 + 0x271c0]
mov dword [esp + 0x60], ebp
lea edx, [ebp + ebp*2]
mov ecx, dword [ebx + edx*4 + 0x188728]
mov edx, dword [ebx + 0xa8]
sub eax, ecx
mov ecx, dword [ebx + 0xa4]
cmp esi, 6
jne 0x4d84fd
mov esi, ecx
mov ecx, edx
neg esi
jmp 0x4d8513
cmp esi, 4
jne 0x4d8508
neg ecx
neg edx
jmp 0x4d8515
cmp esi, 2
jne 0x4d8515
neg edx
mov esi, ecx
mov ecx, edx
mov edx, esi
add ecx, eax
mov eax, dword [ebx + 0x90]
add edx, ebp
mov dword [ebx + 0x9c], ecx
mov dword [ebx + 0xa0], edx
mov dword [0xdc088c], eax
mov eax, dword [0xd16a1c]
cmp eax, 0xe
je 0x4d853f
cmp eax, 0xc
jne 0x4d8544
mov eax, dword [0xd16a20]
mov eax, dword [ebx + 0x90]
xor esi, esi
cmp eax, esi
jne 0x4d855c
mov ecx, dword [0xba393c]
add ecx, 0x18
push ecx
jmp 0x4d8567
mov edx, dword [0xba393c]
lea eax, [edx + edx + 0x20]
push eax
push edi
mov ecx, 0xdc0838
call fcn.0044c100
mov ecx, dword [0xba3998]
mov eax, dword [ebx + 0x80]
mov dword [ebx + 0x74], ecx
mov edx, dword [0x1bd5938]
add edx, eax
mov eax, dword [ebx + 0x84]
shl edx, 1
mov edi, ecx
add edi, edx
mov dword [ebx + 0x74], edi
mov ecx, dword [0x1bd593c]
add eax, ecx
mov edx, edi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x28], 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 + 0x74], eax
mov eax, dword [0x177bf80]
cmp eax, edx
mov dword [0xdc083c], edx
mov ecx, edx
jle 0x4d85ff
mov eax, 0x177c6e4
cmp word [eax + 0x78], si
je 0x4d85ef
mov word [eax], si
mov word [eax + 2], si
mov word [eax + 4], si
mov word [eax + 6], si
mov edi, dword [0x177bf80]
inc ecx
add eax, 0x490
cmp ecx, edi
jl 0x4d85da
mov ecx, dword [0x1a464b8]
mov eax, edx
cmp ecx, edx
jle 0x4d8624
mov ecx, 0x1a46880
mov word [ecx], si
mov edx, dword [0x1a464b8]
inc eax
add ecx, 0x32c
cmp eax, edx
jl 0x4d8610
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
mov dword [esp + 0x50], eax
jge 0x4dbce2
mov esi, dword [esp + 0x44]
mov ecx, ebx
call fcn.004dc350
mov ecx, dword [esp + 0x54]
lea eax, [ecx - 0x2a]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jl 0x4d866e
mov edx, dword [esp + 0x3c]
lea eax, [esi + edx]
mov ecx, dword [ebx + eax*4 + 0x4e600]
test byte [ecx*4 + 0x111d120], 0x30
jne 0x4dbce2
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
cmp edx, eax
jne 0x4d8691
mov eax, dword [ebx + 0x98]
mov dword [esp + 0x1c], ecx
add eax, 0x10
mov dword [0x9988d0], eax
jmp 0x4d86a3
mov edx, dword [ebx + 0x98]
mov ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [0x9988d0], edx
mov edi, esi
cmp esi, ecx
mov dword [esp + 0x38], edi
jge 0x4db29f
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
xor esi, esi
lea ecx, [eax + edi + 0x13978]
mov ebp, dword [ebx + ecx*4]
mov dword [esp + 0x10], ebp
mov eax, dword [ebp*4 + 0x111d120]
test al, 0x30
mov dword [0x9988e4], eax
je 0x4d86fb
mov edx, dword [0x8f0790]
mov dword [0x9988f0], esi
add edx, 0x140
mov dword [0x9988e0], edx
call fcn.004521d0
jmp 0x4db277
xor ecx, ecx
cmp edi, 2
mov cx, word [ebp*2 + 0x100a440]
mov dword [0x9988e0], ecx
jl 0x4d8723
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], 1
add eax, 0xfffffffe
cmp edi, eax
jl 0x4d8727
mov dword [esp + 0x34], esi
mov eax, dword [ebx + 0xbc]
cmp eax, esi
je 0x4d87d1
cmp eax, 1
jne 0x4d8744
movsx edx, word [ebp*2 + 0x131be90]
jmp 0x4d8750
cmp eax, 2
jne 0x4d8754
movsx edx, byte [ebp + 0x13432b0]
mov dword [esp + 0x28], edx
cmp edx, esi
je 0x4d87d1
cmp eax, 2
jne 0x4d87bc
mov ecx, dword [0x150c85c]
and edx, 0xff
mov eax, 0xff
sub eax, edx
cmp ecx, 2
mov dword [esp + 0x28], eax
jne 0x4d877d
push 6
jmp 0x4d878c
cmp ecx, 4
jne 0x4d8785
push ecx
jmp 0x4d878c
cmp ecx, 6
jne 0x4d87a0
push 2
push eax
mov ecx, 0x150ca80
call fcn.0046ff00
and eax, 0xff
mov dword [esp + 0x28], eax
cmp eax, 0x100
jl 0x4d87b0
sub eax, 0x100
mov dword [esp + 0x28], eax
mov ecx, dword [0x8f0790]
lea ecx, [ecx + eax + 0x40]
jmp 0x4d87cb
mov eax, dword [0x8f0790]
and edx, 0x3f
mov dword [esp + 0x28], edx
lea ecx, [eax + edx]
mov dword [0x9988e0], ecx
movsx edx, word [ebp*2 + 0x121cbc0]
movsx eax, word [ebp*2 + 0x1193550]
lea edi, [ebp*2 + 0x1193550]
mov dword [esp + 0x18], edx
mov edx, dword [0x9988e4]
mov dword [esp + 0x48], edi
test edx, 0xa0108001
mov dword [esp + 0x68], eax
mov dword [esp + 0x40], esi
mov dword [0x9988c0], esi
je 0x4d8cf5
test dl, 1
je 0x4d8a49
movsx ecx, word [ebp*2 + 0x10f5d00]
mov dl, byte [ebp + 0x116bfa0]
mov eax, ecx
and eax, 0xf
and ecx, 0x7f
test dl, 8
mov dword [0x9988e8], eax
mov dword [0x9988f4], ecx
mov dword [0x9988f0], esi
mov dword [0x9988c8], 8
je 0x4d8899
mov cl, byte [ebp*2 + 0x12b9c40]
and cl, 0x20
neg cl
sbb ecx, ecx
and ecx, 0x5a
mov dword [0x9988c0], ecx
mov ecx, dword [ebx + 0x18b768]
add ecx, eax
cmp ecx, 0x10
mov dword [0x9988e8], ecx
jl 0x4d8882
sub ecx, 0x10
mov dword [0x9988e8], ecx
xor edx, edx
mov dx, word [ebp*2 + 0x100a440]
add edx, ecx
mov dword [0x9988e0], edx
jmp 0x4d8a2c
mov dx, word [ebp*2 + 0x12b9c40]
test dl, 0x80
je 0x4d88db
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebx + 0x18b760]
sar ecx, 1
add eax, ecx
mov ecx, 0xc
cdq
idiv ecx
xor eax, eax
mov ax, word [ebp*2 + 0x100a440]
mov ecx, dword [edx*4 + 0x66fa18]
add ecx, eax
mov dword [0x9988e0], ecx
jmp 0x4d8a2c
test dl, 0x40
je 0x4d89bc
mov edi, dword [0x8f0990]
xor esi, esi
mov si, word [ebp*2 + 0x100a440]
lea edx, [edi + 0x5dc]
cmp esi, edx
jne 0x4d894b
mov eax, dword [ebx + 0x18b760]
add eax, ecx
and eax, 0x8000001f
jns 0x4d8912
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x12
cdq
jge 0x4d892c
mov ecx, 6
idiv ecx
add edx, esi
mov dword [0x9988e0], edx
jmp 0x4d8a2c
mov ecx, 0xc
idiv ecx
mov edx, dword [edx*4 + 0x66fa18]
lea eax, [edx + edi + 0x5d0]
mov dword [0x9988e0], eax
jmp 0x4d8a2c
lea edx, [edi + 0x5e2]
cmp esi, edx
jne 0x4d8983
mov eax, dword [ebx + 0x18b760]
add eax, ecx
and eax, 0x8000001f
jns 0x4d8969
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x12
mov ecx, 0xc
cdq
jge 0x4d8931
idiv ecx
add edx, esi
mov dword [0x9988e0], edx
jmp 0x4d8a2c
lea edx, [edi + 0x5ee]
cmp esi, edx
jne 0x4d8a2c
mov eax, dword [ebx + 0x18b760]
add eax, ecx
and eax, 0x8000001f
jns 0x4d89a5
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x12
cdq
jge 0x4d892c
mov ecx, 0x12
idiv ecx
add edx, esi
mov dword [0x9988e0], edx
jmp 0x4d8a2c
mov ecx, edx
and ecx, 0x100
test cx, cx
je 0x4d89f1
mov edx, dword [ebx + 0x18b75c]
mov eax, dword [edx*4 + 0x66fbe0]
mov ecx, eax
shl ecx, 4
add ecx, eax
xor edx, edx
mov dx, word [ebp*2 + 0x100a440]
lea eax, [edx + ecx*2]
mov dword [0x9988e0], eax
jmp 0x4d8a2c
and edx, 0x200
test dx, dx
jne 0x4d8a2c
and eax, 7
lea ecx, [ebx + 0x18b638]
mov dword [0x9988e8], eax
mov edx, 0x2d
cmp ebp, dword [ecx - 0xf0]
jne 0x4d8a26
mov edi, dword [ecx]
mov esi, eax
and esi, 3
lea esi, [edi + esi*8 + 1]
mov dword [esp + 0x40], esi
add ecx, 4
dec edx
jne 0x4d8a0f
push 2
mov ecx, 0xf017d0
call fcn.004490a0
mov ecx, dword [0x9988e0]
mov edi, dword [esp + 0x48]
xor esi, esi
jmp 0x4d8d60
test edx, 0x100000
je 0x4d8be5
xor eax, eax
xor ecx, ecx
mov al, byte [ebp + 0x12a6230]
mov cl, byte [ebp + 0x12579f0]
mov dword [0x9988c8], eax
mov al, byte [ebp + 0x116bfa0]
mov edx, dword [ecx*4 + 0xfbb800]
test al, 0xc8
mov dword [0x9988f0], edx
je 0x4d8ad1
mov cl, byte [ebp*2 + 0x12b9c40]
and cl, 0x20
neg cl
sbb ecx, ecx
xor eax, eax
mov ax, word [ebp*2 + 0x10a74c0]
and ecx, 0x5a
mov dword [0x9988c0], ecx
mov edx, dword [ebx + 0x18b768]
add eax, edx
mov dword [0x9988e8], eax
and eax, 0x8000000f
jns 0x4d8abb
dec eax
or eax, 0xfffffff0
inc eax
xor edx, edx
mov dx, word [ebp*2 + 0x100a440]
add eax, edx
mov dword [0x9988e0], eax
jmp 0x4d8bce
test al, 7
je 0x4d8b25
mov al, byte [ebp*2 + 0x12b9c40]
and al, 0x20
neg al
sbb eax, eax
xor ecx, ecx
and eax, 0x5a
mov cx, word [ebp*2 + 0x10a74c0]
mov dword [0x9988c0], eax
mov eax, dword [ebx + 0x18b768]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [0x9988e8], ecx
and ecx, 0x80000007
jns 0x4d8b14
dec ecx
or ecx, 0xfffffff8
inc ecx
xor edx, edx
mov dx, word [ebp*2 + 0x100a440]
add ecx, edx
jmp 0x4d8bc8
test al, 0x10
je 0x4d8b74
mov al, byte [ebp*2 + 0x12b9c40]
and al, 0x20
neg al
sbb eax, eax
and eax, 0x5a
mov dword [0x9988c0], eax
mov ecx, dword [ebx + 0x18b768]
xor eax, eax
mov ax, word [ebp*2 + 0x10a74c0]
add eax, ecx
mov dword [0x9988e8], eax
and eax, 0x8000000f
jns 0x4d8b61
dec eax
or eax, 0xfffffff0
inc eax
xor ecx, ecx
mov cx, word [ebp*2 + 0x100a440]
add eax, ecx
mov dword [0x9988e0], eax
jmp 0x4d8bce
test al, 0x20
je 0x4d8bce
mov dl, byte [ebp*2 + 0x12b9c40]
and dl, 0x20
neg dl
sbb edx, edx
xor ecx, ecx
and edx, 0x5a
mov cx, word [ebp*2 + 0x10a74c0]
mov dword [0x9988c0], edx
mov eax, dword [ebx + 0x18b768]
cdq
sub eax, edx
shr ecx, 0xa
sar eax, 1
add ecx, eax
mov dword [0x9988e8], ecx
and ecx, 0x80000007
jns 0x4d8bbc
dec ecx
or ecx, 0xfffffff8
inc ecx
xor eax, eax
mov ax, word [ebp*2 + 0x100a440]
add ecx, eax
mov dword [0x9988e0], ecx
push 7
mov ecx, 0xf017d0
call fcn.004490a0
mov ecx, dword [0x9988e0]
jmp 0x4d8d60
cmp edx, 0xa0008000
jne 0x4d8cf5
xor ecx, ecx
xor eax, eax
mov cl, byte [ebp + 0x12579f0]
mov al, byte [ebp + 0x12a6230]
mov dword [0x9988c8], eax
mov edx, dword [ecx*4 + 0xfbb800]
mov cl, byte [ebp*2 + 0x10f5d00]
mov dword [0x9988f0], edx
mov eax, dword [ebx + 0x18b764]
and ecx, 7
cmp eax, esi
je 0x4d8c2f
inc word [ebp*2 + 0x10a74c0]
xor eax, eax
cmp ecx, esi
mov ax, word [ebp*2 + 0x10a74c0]
mov dword [0x9988e8], eax
jne 0x4d8c76
cmp eax, 0x1ff
jl 0x4d8c58
xor eax, eax
mov word [ebp*2 + 0x10a74c0], si
mov dword [0x9988e8], eax
movsx ecx, byte [eax + 0x66fc60]
xor edx, edx
mov dx, word [ebp*2 + 0x100a440]
add ecx, edx
mov dword [0x9988e0], ecx
jmp 0x4d8d60
cmp ecx, 1
jne 0x4d8caf
cmp eax, 0x1ff
jl 0x4d8c91
xor eax, eax
mov word [ebp*2 + 0x10a74c0], si
mov dword [0x9988e8], eax
movsx ecx, byte [eax + 0x66fe60]
xor eax, eax
mov ax, word [ebp*2 + 0x100a440]
add ecx, eax
mov dword [0x9988e0], ecx
jmp 0x4d8d60
cmp ecx, 4
je 0x4d8cd6
cmp ecx, 5
je 0x4d8cd6
cmp eax, 0x7f
jl 0x4d8ccd
xor eax, eax
mov word [ebp*2 + 0x10a74c0], si
mov dword [0x9988e8], eax
movsx ecx, byte [eax + 0x670060]
jmp 0x4d8c5f
cmp eax, 0xff
jl 0x4d8cec
xor eax, eax
mov word [ebp*2 + 0x10a74c0], si
mov dword [0x9988e8], eax
movsx ecx, byte [eax + 0x670060]
jmp 0x4d8c98
xor eax, eax
mov al, byte [ebp + 0x12579f0]
mov ebp, dword [esp + 0x10]
test dh, 2
je 0x4d8d1c
mov dx, word [ebp*2 + 0x12b9c40]
and edx, 0x3c0
test dx, dx
je 0x4d8d1c
sub eax, 8
mov eax, dword [eax*4 + 0xfbb800]
mov dword [0x9988f0], eax
mov al, byte [ebp*2 + 0x12b9c40]
test al, 0x20
je 0x4d8d4a
mov eax, dword [0x150c888]
xor esi, esi
cmp eax, esi
jne 0x4d8d4c
mov dword [0x9988c0], 0x5a
jmp 0x4d8d52
xor esi, esi
mov dword [0x9988c0], esi
xor edx, edx
mov dl, byte [ebp + 0x12a6230]
mov dword [0x9988c8], edx
movsx eax, word [ebp*2 + 0x11ba970]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4d8fdc
mov edx, dword [ebx + 0xbc]
xor eax, eax
cmp edx, eax
mov dword [0x9988f0], 8
je 0x4d8d9d
mov dword [0x9988c8], eax
mov dword [0x9988c0], eax
jmp 0x4d8fdc
movsx eax, word [ebp*2 + 0x10f5d00]
mov ebp, dword [esp + 0x24]
mov esi, eax
xor edx, edx
and esi, 0xf
cmp ebp, edx
mov dword [0x9988c8], edx
mov dword [0x9988c0], edx
mov dword [0x9988e8], esi
je 0x4d8e9e
test dword [0x9988e4], 0x40000000
jne 0x4d8e9e
mov edx, ebp
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea edx, [edx + eax*2]
mov dx, word [edx*4 + 0x1a46596]
movsx eax, dx
mov eax, dword [eax*4 + 0x66f550]
cmp eax, 3
jne 0x4d8e7a
mov ebp, dword [esp + 0x10]
xor eax, eax
test byte [ebp*2 + 0x12b9c40], 4
je 0x4d8e14
mov eax, 1
cmp dx, 3
jne 0x4d8e2f
mov ecx, dword [0x8f096c]
lea ecx, [ecx + eax + 0x18]
mov dword [0x9988e0], ecx
jmp 0x4d8fdc
cmp dx, 7
jne 0x4d8e4a
mov edx, dword [0x8f096c]
lea ecx, [edx + eax + 0x1a]
mov dword [0x9988e0], ecx
jmp 0x4d8fdc
cmp dx, 0x21
jne 0x4d8e65
mov ecx, dword [0x8f096c]
lea ecx, [ecx + eax + 0x1c]
mov dword [0x9988e0], ecx
jmp 0x4d8fdc
mov edx, dword [0x8f096c]
lea ecx, [edx + eax + 0x1e]
mov dword [0x9988e0], ecx
jmp 0x4d8fdc
test eax, eax
jl 0x4d8fd8
mov ecx, dword [esp + 0x24]
and esi, 3
and ecx, 1
lea edx, [ecx + eax*2]
mov eax, dword [0x8f096c]
add eax, esi
lea ecx, [eax + edx*4]
jmp 0x4d8fd2
mov edx, dword [0x9988e4]
test dh, 1
je 0x4d8f6f
mov eax, edx
test ah, 8
je 0x4d8eef
and eax, 1
mov dword [0x9988e4], eax
mov eax, dword [0x8f0728]
lea edx, [eax + 0x86]
cmp ecx, edx
je 0x4d8ee1
add eax, 0x88
cmp ecx, eax
je 0x4d8ee1
mov eax, dword [0x8f096c]
lea ecx, [eax + 0x28]
jmp 0x4d8fd2
mov ecx, dword [0x8f096c]
add ecx, 0x2a
jmp 0x4d8fd2
test ah, 2
je 0x4d8f39
mov ebp, dword [esp + 0x10]
and eax, 1
mov dword [0x9988e4], eax
mov al, byte [ebp + 0x12e1060]
test al, al
je 0x4d8f22
mov edx, dword [0x8f096c]
and esi, 1
lea ecx, [esi + edx + 0x2c]
mov dword [0x9988e0], ecx
jmp 0x4d8fdc
mov eax, dword [0x8f096c]
and esi, 3
lea ecx, [esi + eax + 0x24]
mov dword [0x9988e0], ecx
jmp 0x4d8fdc
mov ebp, dword [esp + 0x10]
mov al, byte [ebp + 0x12e1060]
test al, al
je 0x4d8fdc
mov ecx, dword [0x9988e4]
and ecx, 1
and esi, 1
mov dword [0x9988e4], ecx
mov ecx, dword [0x8f096c]
lea ecx, [esi + ecx + 0x2c]
mov dword [0x9988e0], ecx
jmp 0x4d8fdc
test byte [0x9988e4], 0x80
je 0x4d8fd8
movsx esi, word [edi]
cmp esi, 0x7d0
jl 0x4d8fb9
sub esi, 0x7d0
shl esi, 5
cmp word [esi + 0x1664bc6], 1
jle 0x4d8fd8
and eax, 3
mov ecx, 0x16188b8
inc eax
push eax
call fcn.004e87d0
movsx edx, word [esi + 0x1664bbe]
mov ecx, dword [edx*4 + 0x8f06f8]
lea ecx, [eax + ecx - 1]
jmp 0x4d8fd2
and eax, 3
mov ecx, 0x16188b8
inc eax
push eax
call fcn.004e87d0
mov edx, dword [0x8f07d8]
lea ecx, [eax + edx - 1]
mov dword [0x9988e0], ecx
mov ebp, dword [esp + 0x10]
xor eax, eax
xor esi, esi
mov ax, word [ebp*2 + 0x1058c80]
mov dword [esp + 0x48], esi
test eax, eax
mov dword [0x9988cc], eax
je 0x4d904c
mov edx, dword [0x150c8f4]
test edx, edx
je 0x4d9017
test byte [ebp*2 + 0x12b9c41], 0x80
jne 0x4d9017
mov esi, 1
mov dword [esp + 0x48], esi
jmp 0x4d90b2
mov ecx, eax
mov eax, dword [0x9988e4]
test ah, 1
mov dword [0x9988e0], ecx
je 0x4d90b2
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4d90b2
xor eax, eax
mov al, byte [ebp + 0x126b400]
mov edx, dword [eax*4 + 0xfbb800]
mov dword [0x9988f0], edx
jmp 0x4d90b2
mov eax, dword [0x9988e4]
test ah, 0x40
je 0x4d90b2
mov eax, dword [0x150c978]
test eax, eax
je 0x4d90b2
mov eax, dword [0x16845d0]
test eax, eax
je 0x4d9276
push ebp
mov ecx, 0xfb7fc0
call fcn.0050ccc0
mov edx, dword [0x176582c]
shl eax, 4
movsx eax, byte [eax + 0x14b883c]
mov ecx, dword [eax*4 + 0xd7ea58]
mov eax, dword [edx*4 + 0xd7ea58]
cmp ecx, eax
jne 0x4d90ac
mov esi, 1
mov dword [0x9988cc], 0x39
mov dword [esp + 0x48], esi
mov ecx, dword [0x9988e0]
movsx eax, word [ebp*2 + 0x11f57a0]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x4d90f2
cmp eax, dword [0x177bf8c]
jne 0x4d90f2
cmp dword [0xfb7904], 2
jne 0x4d90f2
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*8]
mov eax, dword [0x8f0790]
shl edx, 4
mov cl, byte [edx + 0x177c334]
and ecx, 0x3f
add ecx, eax
mov dword [0x9988e0], ecx
test byte [0x9988e4], 8
je 0x4d9129
mov ax, word [ebp*2 + 0x12b9c40]
and eax, 0x2000
test ax, ax
jne 0x4d9129
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4d9129
xor edx, edx
mov dl, byte [ebp + 0x12579f0]
mov eax, dword [edx*4 + 0xfbb810]
mov dword [0x9988f0], eax
mov edi, dword [esp + 0x24]
test edi, edi
je 0x4d914c
mov eax, dword [ebx + 0x74]
mov dx, word [0x8f1568]
mov cx, word [eax]
mov word [eax], dx
mov word [esp + 0x30], cx
mov ecx, dword [0x9988e0]
cmp dword [0x9988c8], 0xff
je 0x4d91a1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4d91a1
call fcn.004521d0
test esi, esi
je 0x4d919b
mov eax, dword [0x9988c0]
mov ecx, dword [0x9988f0]
mov edx, dword [0x9988d4]
sub eax, ecx
mov ecx, dword [0x9988d0]
add eax, edx
mov edx, dword [0x9988cc]
push 0x18
push eax
push ecx
push edx
push 0x10
mov ecx, 0xdc0838
call fcn.0044c690
mov ecx, dword [0x9988e0]
mov eax, ecx
shl eax, 4
mov dl, byte [eax + 0x7eea04]
test dl, dl
je 0x4d921b
test edi, edi
jne 0x4d921b
mov edx, dword [esp + 0x34]
test edx, edx
je 0x4d921b
test esi, esi
jne 0x4d921b
mov ecx, dword [ecx*4 + 0x70bff4]
mov esi, dword [0xdc08b0]
movsx edx, word [eax + 0x7eea02]
lea ecx, [ecx + esi + 0x200]
mov esi, dword [0x9988d4]
push ecx
lea ecx, [edx + 7]
push ecx
movsx ecx, byte [eax + 0x7eea06]
push ecx
mov ecx, dword [0x9988c0]
sub ecx, edx
mov edx, dword [0x9988f0]
sub ecx, edx
movsx edx, byte [eax + 0x7eea05]
add ecx, esi
push ecx
mov ecx, dword [0x9988d0]
add edx, ecx
mov ecx, 0xdc0838
push edx
call fcn.0044cb60
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4d9257
mov ecx, dword [0x9988d4]
mov edx, dword [0xe9c980]
mov esi, dword [0xe9c97c]
sub ecx, edx
mov edx, dword [0x9988d0]
add ecx, 7
sub edx, esi
push ecx
add edx, 0xf
mov ecx, 0xdc0838
push edx
push eax
push 0xad
call fcn.0044c5a0
test edi, edi
je 0x4d9296
mov eax, dword [ebx + 0x74]
mov cx, word [eax]
cmp cx, word [0x8f1568]
je 0x4d928e
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x28], 0
jmp 0x4d9296
mov esi, 1
mov dword [0x9988cc], 0x39
mov dword [esp + 0x48], esi
jmp 0x4d90b2
mov dx, word [esp + 0x30]
mov word [eax], dx
mov eax, dword [0x9988e4]
test eax, 0x201
jne 0x4d93ef
test edi, edi
jne 0x4d93ef
mov cx, word [ebp*2 + 0x12b9c40]
and ecx, 0x3c0
test ecx, ecx
je 0x4d93ef
mov edx, dword [0x9988cc]
test edx, edx
je 0x4d92e5
test ah, 0x40
je 0x4d93ef
mov edx, dword [0x150c978]
test edx, edx
je 0x4d93ef
test al, 0x30
jne 0x4d93ef
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4d93ef
xor edx, edx
mov dx, word [ebp*2 + 0x10a74c0]
mov eax, edx
mov esi, dword [edx*4 + 0xfbb800]
sub eax, esi
xor esi, esi
mov si, word [ebp*2 + 0x1031860]
test cl, 0x40
mov dword [0x9988e0], esi
je 0x4d933c
mov ebp, dword [0x9988c0]
mov ecx, dword [0x9988d4]
sub eax, edx
add eax, ebp
lea edx, [eax + ecx + 7]
jmp 0x4d93db
test cl, 0x80
je 0x4d939e
mov ecx, dword [0x8f07d0]
mov ebp, dword [0xdc08b0]
lea esi, [ecx + esi - 1]
mov ecx, esi
mov esi, dword [esi*4 + 0x70bff4]
shl ecx, 4
add esi, ebp
movsx edi, word [ecx + 0x7ee9fa]
push esi
mov esi, edi
movsx ecx, word [ecx + 0x7ee9f8]
sub esi, eax
sub eax, edi
sub eax, edx
mov edx, dword [0x9988c0]
add eax, edx
mov edx, dword [0x9988d4]
push esi
push ecx
mov ecx, dword [0x9988d0]
lea eax, [eax + edx + 0x62]
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044cb60
jmp 0x4d93ef
test ch, 1
je 0x4d93c2
mov ecx, dword [0x9988d4]
sub eax, edx
mov edx, dword [0x9988c0]
add eax, edx
mov edx, dword [0x9988d0]
add eax, ecx
add edx, 0x10
push eax
push edx
jmp 0x4d93e2
test ch, 2
je 0x4d93ef
mov ebp, dword [0x9988c0]
mov ecx, dword [0x9988d4]
sub eax, edx
add eax, ebp
lea edx, [eax + ecx - 1]
mov eax, dword [0x9988d0]
push edx
push eax
push esi
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov bp, word [ecx*2 + 0x10ce8e0]
test ebp, ebp
je 0x4d9625
mov eax, dword [0x150c884]
mov edi, dword [0x9988f0]
test eax, eax
je 0x4d947e
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4d947e
mov eax, dword [ecx*4 + 0x111d120]
test eax, 0x10000000
je 0x4d9445
movsx eax, word [ecx*2 + 0x11ba970]
push eax
mov ecx, 0x1a464b0
mov dword [esp + 0x28], eax
call fcn.0040a290
add edi, eax
jmp 0x4d947e
test ah, 1
je 0x4d947e
movsx ecx, word [ecx*2 + 0x11ba970]
test ecx, ecx
mov dword [esp + 0x24], ecx
je 0x4d947b
lea eax, [ecx + ecx*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*4]
lea ecx, [ecx + eax*2]
cmp word [ecx*4 + 0x1a46596], 0x2f
jne 0x4d9476
add edi, 6
jmp 0x4d947e
add edi, 0x14
jmp 0x4d947e
add edi, 4
lea edx, [ebp*8]
sub edx, ebp
mov eax, dword [ebx + edx*4 + 0x189a00]
lea esi, [ebx + edx*4]
test al, 2
je 0x4d9617
mov ecx, dword [esp + 0x10]
test byte [ecx*2 + 0x12b9c40], 0x10
je 0x4d94f2
mov edx, dword [esi + 0x1899f0]
push 0
push edx
push eax
lea eax, [ebp + 0xe0ed]
mov ebp, dword [0x9988d0]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x1899f8]
sub eax, edi
mov edx, dword [ebx + ecx*4]
mov ecx, dword [esi + 0x1899f4]
push edx
mov edx, dword [0x9988d4]
add eax, edx
add ecx, ebp
push eax
push ecx
push 0
mov ecx, ebx
call fcn.004dd0d0
jmp 0x4d9617
test al, 4
je 0x4d9580
mov edx, dword [0x176582c]
and al, 0x10
neg al
sbb eax, eax
not eax
and eax, edx
mov dword [0x9988ec], eax
mov edx, dword [esi + 0x1899f0]
mov dword [0x9988d8], edx
mov eax, dword [esi + 0x189a00]
test al, 0x20
je 0x4d9577
lea ecx, [ebp + 0xe0ed]
mov ebp, dword [0x9988d4]
sar eax, 0x10
lea edx, [ecx*8]
push 0
sub edx, ecx
mov ecx, dword [ebx + edx*4]
mov edx, dword [esi + 0x1899f0]
add eax, ecx
push eax
mov eax, dword [esi + 0x1899f8]
sub eax, edi
push edx
add eax, ebp
mov ebp, dword [0x9988d0]
push eax
mov eax, dword [esi + 0x1899f4]
add eax, ebp
push eax
push ecx
push edx
mov ecx, 0xdc0838
call fcn.0044e900
jmp 0x4d9617
test eax, 0xffff0000
je 0x4d95d4
jmp 0x4d958b
test al, 0x20
jne 0x4d9525
test eax, 0xffff0000
je 0x4d95d4
mov ecx, dword [esi + 0x1899f8]
mov edx, dword [esi + 0x1899f4]
sar eax, 0x10
push eax
mov eax, dword [0x9988d4]
sub ecx, edi
add ecx, eax
lea eax, [ebp + 0xe0ed]
push ecx
mov ecx, dword [0x9988d0]
add edx, ecx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
push edx
mov edx, dword [ebx + ecx*4]
mov ecx, 0xdc0838
push edx
push eax
call fcn.0044c690
jmp 0x4d9617
mov ecx, dword [esi + 0x1899f8]
mov eax, dword [0x9988d4]
mov edx, dword [esi + 0x1899f4]
sub ecx, edi
add ecx, eax
lea eax, [ebp + 0xe0ed]
push ecx
mov ecx, dword [0x9988d0]
add edx, ecx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
push edx
mov edx, dword [ebx + ecx*4]
mov ecx, 0xdc0838
push edx
push eax
call fcn.0044c5a0
mov ebp, dword [esi + 0x189a04]
test ebp, ebp
jne 0x4d947e
mov ecx, dword [esp + 0x18]
xor ebp, ebp
test ecx, ecx
je 0x4d9772
inc ebp
cmp ebp, 0xa
jge 0x4d9772
lea edx, [ecx*8]
sub edx, ecx
lea esi, [ecx + edx*4]
shl esi, 3
cmp word [esi + 0xf0af2c], 0
je 0x4d9772
mov eax, dword [esi + 0xf0af04]
test eax, eax
je 0x4d9750
mov ax, word [esi + 0xf0af2e]
cmp ax, 0x1c
je 0x4d9685
cmp ax, 0x1d
je 0x4d9685
cmp ax, 0x17
jne 0x4d9750
cmp word [esi + 0xf0af24], 0
je 0x4d9750
movsx eax, word [esi + 0xf0af0a]
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 0xf0af0c]
mov edi, dword [0x9988f0]
mov dword [0x9988d8], eax
mov eax, dword [edx*4 + 0x111d120]
mov dword [0x9988ec], ecx
test eax, 0x10000000
je 0x4d96e0
mov eax, edx
mov ecx, 0x1a464b0
movsx eax, word [eax*2 + 0x11ba970]
push eax
mov dword [esp + 0x28], eax
call fcn.0040a290
add edi, eax
jmp 0x4d9701
test ah, 1
je 0x4d9701
mov ecx, dword [esp + 0x10]
movsx eax, word [ecx*2 + 0x11ba970]
test eax, eax
mov dword [esp + 0x24], eax
je 0x4d96fe
add edi, 0x14
jmp 0x4d9701
add edi, 4
movsx eax, word [esi + 0xf0af12]
movsx ecx, word [esi + 0xf0af1e]
movsx edx, word [esi + 0xf0af24]
sub eax, ecx
push 0
sub eax, edi
mov edi, dword [0x9988d4]
push 0
push 0x14
add eax, edi
mov edi, dword [0x9988d0]
push edx
push eax
movsx edx, word [esi + 0xf0af10]
movsx eax, word [esi + 0xf0af1c]
sub edx, eax
mov ecx, ebx
add edx, edi
push edx
push 0xffffffffffffffff
call fcn.004dd0d0
mov ecx, dword [esp + 0x18]
movsx eax, word [esi + 0xf0af22]
cmp ecx, eax
je 0x4d9772
mov ecx, eax
mov eax, dword [0x1684a58]
test eax, eax
mov dword [esp + 0x18], ecx
jne 0x4d9772
test ecx, ecx
jne 0x4d9633
mov edx, dword [esp + 0x10]
movsx ecx, word [edx*2 + 0x121cbc0]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4d97e7
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea ecx, [ecx + eax*2]
cmp word [ecx*4 + 0x1a46596], 0x31
jne 0x4d97e7
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4d97e7
mov eax, dword [0x150c884]
test eax, eax
je 0x4d97e7
mov dl, byte [edx*2 + 0x12b9c40]
and dl, 0xc
cmp dl, 4
jne 0x4d97e7
mov ecx, dword [0x9988c0]
mov edx, dword [0x9988d4]
mov eax, dword [esp + 0x10]
add ecx, edx
push eax
mov eax, dword [0x9988d0]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
push ecx
mov ecx, ebx
call fcn.004dd4f0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4da93c
mov edx, dword [esp + 0x10]
mov ecx, 0x177bf80
push edx
call fcn.005267e0
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x4da93c
mov ebx, eax
lea eax, [ebx + ebx*8]
lea esi, [ebx + eax*8]
shl esi, 4
cmp word [esi + 0x177c2cc], 0
je 0x4da93c
movsx edx, word [esi + 0x177c24c]
cmp word [esi + 0x177c2ce], 0x49
mov dword [esp + 0x40], 0
mov dword [0x9988d8], edx
jne 0x4d98da
movsx ecx, word [esi + 0x177c2d6]
mov eax, dword [ecx*4 + 0xd7ea58]
mov ecx, dword [0x176582c]
cmp eax, dword [ecx*4 + 0xd7ea58]
je 0x4d98da
mov ecx, dword [esi + 0x177c678]
cmp ecx, 0xa0
jle 0x4d98b9
mov ax, word [esi + 0x177c500]
cmp ax, 0x6a
je 0x4d98b9
cmp ax, 0x6b
je 0x4d98b9
mov eax, dword [0x16845d0]
test eax, eax
jne 0x4d989c
cmp word [esi + 0x177c684], 0x960
jg 0x4d98da
movsx ebx, word [esi + 0x177c4e2]
mov eax, dword [0x1684a58]
mov dword [esp + 0x2c], ebx
test eax, eax
jne 0x4da93c
jmp 0x4da934
cmp ecx, 0x78
jle 0x4d98da
mov eax, dword [0x16845d0]
test eax, eax
jne 0x4d98d2
cmp word [esi + 0x177c684], 0x960
jg 0x4d98da
mov dword [esp + 0x40], 0x10
cmp word [esi + 0x177c29a], 0
je 0x4d98f0
mov dword [0x9988ec], 9
jmp 0x4d98fb
mov eax, dword [esi + 0x177c250]
mov dword [0x9988ec], eax
mov edx, dword [edx*4 + 0x8f06f8]
mov ecx, dword [esi + 0x177c244]
mov eax, dword [0x150c884]
test eax, eax
lea edi, [ecx + edx - 1]
jne 0x4d991c
mov eax, dword [0x9988f0]
jmp 0x4d994d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d993c
movsx eax, byte [esi + 0x177c2b0]
movsx ecx, word [esi + 0x177c2fc]
sub eax, ecx
mov ecx, dword [0x9988f0]
jmp 0x4d994b
movsx ecx, word [esi + 0x177c2fa]
xor eax, eax
mov al, byte [esi + 0x177c2c3]
add eax, ecx
movsx ecx, word [esi + 0x177c266]
mov ebp, dword [0x9988d0]
lea ecx, [ecx + ebp - 6]
mov dword [esi + 0x177c65c], ecx
mov cx, word [esi + 0x177c29c]
sub cx, word [esi + 0x177c26a]
add ecx, ebp
add cx, word [esi + 0x177c266]
mov word [esi + 0x177c254], cx
mov ecx, dword [0x9988d4]
movsx ebp, word [esi + 0x177c268]
sub ebp, eax
lea ebp, [ecx + ebp - 0xc]
mov dword [esi + 0x177c660], ebp
mov bp, word [esi + 0x177c2c4]
sub bp, word [esi + 0x177c2fc]
sub ebp, eax
movsx ax, byte [esi + 0x177c2b0]
sub bp, word [esi + 0x177c26c]
add ecx, eax
mov eax, edi
add ebp, ecx
add bp, word [esi + 0x177c268]
shl eax, 4
mov word [esi + 0x177c256], bp
mov cx, word [eax + 0x7ee9f8]
mov word [esi + 0x177c258], cx
mov cl, byte [esi + 0x177c2b0]
test cl, cl
je 0x4d9a03
movsx ax, cl
mov cx, word [esi + 0x177c26c]
sub cx, ax
add ecx, 8
mov word [esi + 0x177c25a], cx
jmp 0x4d9a11
mov ax, word [eax + 0x7ee9fa]
mov word [esi + 0x177c25a], ax
mov eax, dword [esi + 0x177c2a8]
test eax, eax
je 0x4d9ac1
cmp eax, 1
je 0x4da920
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4d9a6b
mov ecx, dword [edi*4 + 0x70bff4]
mov eax, dword [0xdc08b0]
movsx edx, word [esi + 0x177c25a]
add ecx, eax
movsx eax, word [esi + 0x177c258]
push ecx
push edx
movsx ecx, word [esi + 0x177c256]
movsx edx, word [esi + 0x177c254]
push eax
push ecx
push edx
mov ecx, 0xdc0838
call fcn.0044f4c0
jmp 0x4d9aa6
mov ecx, dword [0xdc08b0]
push eax
mov eax, dword [edi*4 + 0x70bff4]
movsx edx, word [esi + 0x177c258]
add eax, ecx
movsx ecx, word [esi + 0x177c25a]
push eax
push ecx
movsx eax, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
push edx
push eax
push ecx
mov ecx, 0xdc0838
call fcn.004516d0
mov eax, dword [esi + 0x177c2a8]
cmp eax, 1
jle 0x4da920
dec eax
mov dword [esi + 0x177c2a8], eax
jmp 0x4da920
mov eax, dword [esi + 0x177c2a4]
cmp eax, 1
jne 0x4d9b0c
push eax
mov edx, dword [edi*4 + 0x70bff4]
mov ebp, dword [0xdc08b0]
movsx eax, word [esi + 0x177c25a]
movsx ecx, word [esi + 0x177c258]
add edx, ebp
push edx
push eax
movsx edx, word [esi + 0x177c256]
movsx eax, word [esi + 0x177c254]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ebx
call fcn.004dd0d0
jmp 0x4da920
cmp eax, 2
jne 0x4d9b52
mov ecx, dword [edi*4 + 0x70bff4]
mov edx, dword [0xdc08b0]
movsx eax, word [esi + 0x177c258]
add ecx, edx
push 0
movsx edx, word [esi + 0x177c25a]
push ecx
push edx
movsx ecx, word [esi + 0x177c256]
movsx edx, word [esi + 0x177c254]
push eax
push ecx
mov ecx, dword [esp + 0x34]
push edx
push ebx
call fcn.004dd0d0
jmp 0x4da920
mov ecx, dword [esp + 0x10]
test byte [ecx*2 + 0x12b9c40], 0x10
je 0x4d9b6c
cmp eax, 0xffffffff
je 0x4d9b6c
push 0
jmp 0x4d9acd
mov eax, dword [0x9988e4]
test ah, 4
je 0x4da08b
mov ecx, dword [esp + 0x24]
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea ecx, [ecx + eax*2]
cmp word [ecx*4 + 0x1a46596], 0x4b
jne 0x4da04a
mov ax, word [esi + 0x177c294]
cmp ax, 2
je 0x4d9bb0
cmp ax, 6
jne 0x4da04a
cmp word [esi + 0x177c2ce], 0x49
jne 0x4d9cd8
mov eax, dword [esi + 0x177c2b8]
test eax, eax
je 0x4d9cd8
mov bx, word [esi + 0x177c2c6]
lea edx, [edx + eax - 1]
test bx, bx
mov dword [esp + 0x64], edx
jge 0x4d9bea
mov dword [esp + 0x30], 0
jmp 0x4d9bf1
movsx eax, bx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x40]
mov ecx, 0x20
sub ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, dword [esp + 0x64]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [eax*4 + 0x70bff4]
mov eax, dword [0xdc08b0]
mov ebp, edx
mov edx, 0x10
add ecx, eax
sub edx, ebp
shl edx, 1
movsx eax, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c25a]
sub edx, dword [esp + 0x38]
movsx ecx, word [esi + 0x177c256]
push edx
push eax
movsx eax, word [esi + 0x177c254]
movsx edx, bx
add ecx, edx
push ecx
push eax
mov ecx, 0xdc0838
call fcn.004516d0
mov ax, word [esi + 0x177c2ca]
test ax, ax
je 0x4d9cd8
mov edx, dword [0x9988d8]
movsx ecx, ax
mov eax, dword [edx*4 + 0x8f06f8]
lea edx, [eax + ecx - 1]
mov ax, word [esi + 0x177c2c6]
test ax, ax
jge 0x4d9c8c
xor ecx, ecx
jmp 0x4d9c8f
movsx ecx, ax
mov edx, dword [edx*4 + 0x70bff4]
mov ebx, 0x20
sub ebx, ebp
push ebx
mov ebx, dword [0xdc08b0]
add edx, ebx
push edx
movsx edx, word [esi + 0x177c25a]
sub edx, ecx
movsx ecx, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
movsx eax, ax
add edx, eax
push edx
push ecx
mov ecx, 0xdc0838
call fcn.004516d0
mov ebx, dword [esp + 0x20]
mov dx, word [0x8f1568]
mov eax, dword [ebx + 0x74]
mov bp, word [eax]
mov word [eax], dx
mov edx, dword [esp + 0x40]
mov ax, word [esi + 0x177c2c6]
test edx, edx
mov dword [esp + 0x30], ebp
jne 0x4d9d4e
test ax, ax
jge 0x4d9d08
xor ecx, ecx
jmp 0x4d9d0b
movsx ecx, ax
mov edx, dword [edi*4 + 0x70bff4]
mov edi, dword [0xdc08b0]
add edx, edi
push edx
movsx edx, word [esi + 0x177c25a]
sub edx, ecx
movsx ecx, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
movsx eax, ax
add edx, eax
push edx
push ecx
mov ecx, 0xdc0838
call fcn.0044f4c0
jmp 0x4d9d9a
test ax, ax
jge 0x4d9d57
xor ecx, ecx
jmp 0x4d9d5a
movsx ecx, ax
push edx
mov edx, dword [edi*4 + 0x70bff4]
add edx, dword [0xdc08b0]
push edx
movsx edx, word [esi + 0x177c25a]
sub edx, ecx
movsx ecx, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
movsx eax, ax
add edx, eax
push edx
push ecx
mov ecx, 0xdc0838
call fcn.004516d0
mov ax, word [esi + 0x177c4ee]
cmp ax, 4
je 0x4d9e36
cmp ax, 2
jl 0x4d9e36
movsx edi, word [esi + 0x177c2be]
movsx edx, word [esi + 0x177c2c0]
mov ecx, dword [esi + 0x177c2b4]
mov dword [0x9988d8], edi
test ecx, ecx
mov dword [0x9988ec], edx
jle 0x4d9e36
mov ax, word [esi + 0x177c2c8]
test ax, ax
jge 0x4d9de9
xor edx, edx
jmp 0x4d9dec
movsx edx, ax
mov edi, dword [edi*4 + 0x8f06f8]
add edi, ecx
mov ecx, dword [edi*4 + 0x70bff0]
mov edi, dword [0xdc08b0]
add ecx, edi
push ecx
movsx ecx, word [esi + 0x177c25a]
sub ecx, edx
movsx edx, word [esi + 0x177c258]
push ecx
push edx
movsx ecx, word [esi + 0x177c256]
movsx edx, ax
movsx eax, word [esi + 0x177c254]
add ecx, edx
push ecx
push eax
mov ecx, 0xdc0838
call fcn.0044f4c0
cmp word [esi + 0x177c4ee], 3
jl 0x4da020
mov edx, dword [esi + 0x177c2b8]
test edx, edx
jle 0x4d9eb1
mov ax, word [esi + 0x177c2ca]
test ax, ax
jge 0x4d9e5e
xor ecx, ecx
jmp 0x4d9e61
movsx ecx, ax
mov edi, dword [0x9988d8]
movsx eax, ax
mov edi, dword [edi*4 + 0x8f06f8]
add edi, edx
mov edx, dword [edi*4 + 0x70bff0]
mov edi, dword [0xdc08b0]
add edx, edi
push edx
movsx edx, word [esi + 0x177c25a]
sub edx, ecx
movsx ecx, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
add edx, eax
push edx
push ecx
mov ecx, 0xdc0838
call fcn.0044f4c0
mov eax, dword [0x16845d0]
test eax, eax
je 0x4da020
mov ax, word [esi + 0x177c2ce]
cmp ax, 0x3a
jne 0x4d9f70
cmp word [esi + 0x177c4e0], 0
jne 0x4d9f70
movsx edx, word [esi + 0x177c294]
movsx eax, word [esi + 0x177c254]
movsx ecx, word [esi + 0x177c256]
cmp edx, 7
ja case.default.0x4d9ef7
jmp dword [edx*4 + 0x4dc168]
add eax, 0x22
jmp case.default.0x4d9ef7
add eax, 0x2f
sub ecx, 0xc
jmp case.default.0x4d9ef7
add eax, 0x4b
sub ecx, 0x13
jmp case.default.0x4d9ef7
add eax, 0x65
sub ecx, 0xa
jmp case.default.0x4d9ef7
add eax, 0x70
add ecx, 2
jmp case.default.0x4d9ef7
add eax, 0x64
add ecx, 0x14
jmp case.default.0x4d9ef7
add eax, 0x46
add ecx, 0x13
jmp case.default.0x4d9ef7
add eax, 0x2c
add ecx, 0x17
movsx edx, word [esi + 0x177c2d6]
push ecx
mov dword [0x9988ec], edx
mov edx, dword [0xd7dfec]
push eax
mov eax, dword [esi + 0x177c5c4]
mov dword [0x9988d8], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4da00a
jmp 0x4da005
cmp ax, 0x3b
jne 0x4da020
cmp word [esi + 0x177c4e0], 0
jne 0x4da020
movsx edx, word [esi + 0x177c294]
movsx eax, word [esi + 0x177c254]
movsx ecx, word [esi + 0x177c256]
cmp edx, 7
ja case.default.0x4d9fa2
jmp dword [edx*4 + 0x4dc188]
add eax, 0x2c
sub ecx, 0x14
jmp case.default.0x4d9fa2
add eax, 0x31
sub ecx, 0x11
jmp case.default.0x4d9fa2
add eax, 0x29
sub ecx, 0xf
jmp case.default.0x4d9fa2
add eax, 0x22
sub ecx, 0x11
jmp case.default.0x4d9fa2
add eax, 0x20
sub ecx, 0x14
jmp case.default.0x4d9fa2
add eax, 0x28
sub ecx, 0x17
movsx edx, word [esi + 0x177c2d6]
push ecx
mov dword [0x9988ec], edx
mov edx, dword [0xd7dfec]
push eax
mov eax, dword [esi + 0x177c5c4]
mov dword [0x9988d8], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4da00a
dec eax
or eax, 0xffffffc0
inc eax
cdq
sub eax, edx
mov ecx, 0xdc0838
sar eax, 1
inc eax
push eax
push 0xbd
call fcn.0044c5a0
mov eax, dword [ebx + 0x74]
mov cx, word [eax]
cmp cx, word [0x8f1568]
je 0x4da042
mov edx, dword [esp + 0x2c]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x28], edx
jmp 0x4da920
mov word [eax], bp
jmp 0x4da920
mov eax, dword [edi*4 + 0x70bff4]
mov edx, dword [0xdc08b0]
movsx ecx, word [esi + 0x177c25a]
add eax, edx
push 1
movsx edx, word [esi + 0x177c258]
push eax
push ecx
movsx eax, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x38]
push ebx
call fcn.004dd0d0
jmp 0x4da920
cmp word [esi + 0x177c2ce], 0x49
jne 0x4da1b3
mov eax, dword [esi + 0x177c2b8]
test eax, eax
je 0x4da1b3
mov bx, word [esi + 0x177c2c6]
lea edx, [edx + eax - 1]
test bx, bx
mov dword [esp + 0x64], edx
jge 0x4da0c5
mov dword [esp + 0x30], 0
jmp 0x4da0cc
movsx eax, bx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x40]
mov ecx, 0x20
sub ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, dword [esp + 0x64]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [eax*4 + 0x70bff4]
mov eax, dword [0xdc08b0]
mov ebp, edx
mov edx, 0x10
add ecx, eax
sub edx, ebp
shl edx, 1
movsx eax, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c25a]
sub edx, dword [esp + 0x38]
movsx ecx, word [esi + 0x177c256]
push edx
push eax
movsx eax, word [esi + 0x177c254]
movsx edx, bx
add ecx, edx
push ecx
push eax
mov ecx, 0xdc0838
call fcn.004516d0
mov ax, word [esi + 0x177c2ca]
test ax, ax
je 0x4da1b3
mov edx, dword [0x9988d8]
movsx ecx, ax
mov eax, dword [edx*4 + 0x8f06f8]
lea edx, [eax + ecx - 1]
mov ax, word [esi + 0x177c2c6]
test ax, ax
jge 0x4da167
xor ecx, ecx
jmp 0x4da16a
movsx ecx, ax
mov edx, dword [edx*4 + 0x70bff4]
mov ebx, 0x20
sub ebx, ebp
push ebx
mov ebx, dword [0xdc08b0]
add edx, ebx
push edx
movsx edx, word [esi + 0x177c25a]
sub edx, ecx
movsx ecx, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
movsx eax, ax
add edx, eax
push edx
push ecx
mov ecx, 0xdc0838
call fcn.004516d0
mov ebp, dword [esp + 0x20]
mov cx, word [0x8f1568]
mov eax, dword [ebp + 0x74]
mov dx, word [eax]
mov word [eax], cx
mov al, byte [esi + 0x177c56e]
mov word [esp + 0x30], dx
test al, al
je 0x4da241
movsx ecx, word [esi + 0x177c25a]
movsx edx, al
mov eax, dword [edi*4 + 0x70bff4]
push edx
add eax, dword [0xdc08b0]
movsx edx, word [esi + 0x177c258]
push eax
push ecx
movsx eax, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
push edx
push eax
push ecx
mov ecx, 0xdc0838
call fcn.004516d0
mov eax, dword [ebp + 0x74]
mov dx, word [eax]
cmp dx, word [0x8f1568]
je 0x4da232
mov eax, dword [esp + 0x2c]
xor ebx, ebx
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x1c], ebx
jmp 0x4da553
mov cx, word [esp + 0x30]
xor ebx, ebx
mov word [eax], cx
jmp 0x4da553
cmp word [esi + 0x177c4ee], 4
jne 0x4da257
mov edx, dword [esp + 0x2c]
mov ecx, ebp
push edx
call fcn.004dd020
mov ax, word [esi + 0x177c2c6]
xor ebx, ebx
cmp ax, bx
jge 0x4da269
xor ecx, ecx
jmp 0x4da26c
movsx ecx, ax
mov edx, dword [edi*4 + 0x70bff4]
mov edi, dword [0xdc08b0]
add edx, edi
push edx
movsx edx, word [esi + 0x177c25a]
sub edx, ecx
movsx ecx, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
movsx eax, ax
add edx, eax
push edx
push ecx
mov ecx, 0xdc0838
call fcn.0044f4c0
mov ax, word [esi + 0x177c4ee]
cmp ax, 4
je 0x4da349
cmp ax, 2
jl 0x4da349
movsx edi, word [esi + 0x177c2be]
movsx edx, word [esi + 0x177c2c0]
mov ecx, dword [esi + 0x177c2b4]
mov dword [0x9988d8], edi
cmp ecx, ebx
mov dword [0x9988ec], edx
jle 0x4da349
mov ax, word [esi + 0x177c2c8]
cmp ax, bx
jge 0x4da2fc
xor edx, edx
jmp 0x4da2ff
movsx edx, ax
mov edi, dword [edi*4 + 0x8f06f8]
add edi, ecx
mov ecx, dword [edi*4 + 0x70bff0]
mov edi, dword [0xdc08b0]
add ecx, edi
push ecx
movsx ecx, word [esi + 0x177c25a]
sub ecx, edx
movsx edx, word [esi + 0x177c258]
push ecx
push edx
movsx ecx, word [esi + 0x177c256]
movsx edx, ax
movsx eax, word [esi + 0x177c254]
add ecx, edx
push ecx
push eax
mov ecx, 0xdc0838
call fcn.0044f4c0
cmp word [esi + 0x177c4ee], 3
jl 0x4da530
mov edx, dword [esi + 0x177c2b8]
cmp edx, ebx
jle 0x4da3c4
mov ax, word [esi + 0x177c2ca]
cmp ax, bx
jge 0x4da371
xor ecx, ecx
jmp 0x4da374
movsx ecx, ax
mov edi, dword [0x9988d8]
movsx eax, ax
mov edi, dword [edi*4 + 0x8f06f8]
add edi, edx
mov edx, dword [edi*4 + 0x70bff0]
mov edi, dword [0xdc08b0]
add edx, edi
push edx
movsx edx, word [esi + 0x177c25a]
sub edx, ecx
movsx ecx, word [esi + 0x177c258]
push edx
push ecx
movsx edx, word [esi + 0x177c256]
movsx ecx, word [esi + 0x177c254]
add edx, eax
push edx
push ecx
mov ecx, 0xdc0838
call fcn.0044f4c0
cmp dword [0x16845d0], ebx
je 0x4da530
mov ax, word [esi + 0x177c2ce]
cmp ax, 0x3a
jne 0x4da481
cmp word [esi + 0x177c4e0], bx
jne 0x4da481
movsx edx, word [esi + 0x177c294]
movsx eax, word [esi + 0x177c254]
movsx ecx, word [esi + 0x177c256]
cmp edx, 7
ja case.default.0x4da408
jmp dword [edx*4 + 0x4dc1a8]
add eax, 0x22
jmp case.default.0x4da408
add eax, 0x2f
sub ecx, 0xc
jmp case.default.0x4da408
add eax, 0x4b
sub ecx, 0x13
jmp case.default.0x4da408
add eax, 0x65
sub ecx, 0xa
jmp case.default.0x4da408
add eax, 0x70
add ecx, 2
jmp case.default.0x4da408
add eax, 0x64
add ecx, 0x14
jmp case.default.0x4da408
add eax, 0x46
add ecx, 0x13
jmp case.default.0x4da408
add eax, 0x2c
add ecx, 0x17
movsx edx, word [esi + 0x177c2d6]
push ecx
mov dword [0x9988ec], edx
mov edx, dword [0xd7dfec]
push eax
mov eax, dword [esi + 0x177c5c4]
mov dword [0x9988d8], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4da51a
jmp 0x4da515
cmp ax, 0x3b
jne 0x4da530
cmp word [esi + 0x177c4e0], bx
jne 0x4da530
movsx edx, word [esi + 0x177c294]
movsx eax, word [esi + 0x177c254]
movsx ecx, word [esi + 0x177c256]
cmp edx, 7
ja case.default.0x4da4b2
jmp dword [edx*4 + 0x4dc1c8]
add eax, 0x2c
sub ecx, 0x14
jmp case.default.0x4da4b2
add eax, 0x31
sub ecx, 0x11
jmp case.default.0x4da4b2
add eax, 0x29
sub ecx, 0xf
jmp case.default.0x4da4b2
add eax, 0x22
sub ecx, 0x11
jmp case.default.0x4da4b2
add eax, 0x20
sub ecx, 0x14
jmp case.default.0x4da4b2
add eax, 0x28
sub ecx, 0x17
movsx edx, word [esi + 0x177c2d6]
push ecx
mov dword [0x9988ec], edx
mov edx, dword [0xd7dfec]
push eax
mov eax, dword [esi + 0x177c5c4]
mov dword [0x9988d8], 0xbd
add eax, edx
and eax, 0x8000003f
jns 0x4da51a
dec eax
or eax, 0xffffffc0
inc eax
cdq
sub eax, edx
mov ecx, 0xdc0838
sar eax, 1
inc eax
push eax
push 0xbd
call fcn.0044c5a0
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
cmp cx, word [0x8f1568]
je 0x4da54b
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x28], edx
jmp 0x4da553
mov cx, word [esp + 0x30]
mov word [eax], cx
cmp word [esi + 0x177c274], bx
je 0x4da71a
cmp word [esi + 0x177c4de], bx
jne 0x4da71a
mov al, byte [esi + 0x177c56e]
test al, al
jne 0x4da71a
movsx eax, word [esi + 0x177c258]
sub eax, 0x16
cdq
sub eax, edx
mov edi, eax
movsx eax, word [esi + 0x177c2d6]
sar edi, 1
cmp word [esi + 0x177c2ce], 0x37
jne 0x4da60f
mov ax, word [esi + 0x177c68a]
cmp ax, bx
jne 0x4da5d6
movsx edx, word [esi + 0x177c264]
movsx eax, word [esi + 0x177c256]
lea ecx, [edx + eax - 6]
movsx edx, word [esi + 0x177c254]
movsx eax, word [esi + 0x177c278]
add edx, edi
push ecx
add eax, 0x11
push edx
push eax
jmp 0x4da696
movsx ecx, word [esi + 0x177c264]
movsx edx, word [esi + 0x177c256]
movsx eax, ax
lea ecx, [ecx + edx - 8]
movsx edx, word [esi + 0x177c254]
add edx, edi
push ecx
movsx ecx, word [esi + 0x177c278]
push edx
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [ecx + eax + 0xe4]
jmp 0x4da695
lea edx, [eax + eax*2]
lea ecx, [eax + edx*4]
shl ecx, 3
sub ecx, eax
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*4]
mov eax, dword [edx*4 + 0xd5f43c]
cmp eax, ebx
je 0x4da66e
jle 0x4da636
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2 + 0x76]
jmp 0x4da645
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov ecx, eax
mov eax, 0xad
sub eax, ecx
movsx edx, word [esi + 0x177c264]
movsx ecx, word [esi + 0x177c256]
lea edx, [edx + ecx - 8]
movsx ecx, word [esi + 0x177c254]
push edx
add ecx, edi
movsx edx, word [esi + 0x177c278]
add edx, eax
push ecx
push edx
jmp 0x4da696
movsx eax, word [esi + 0x177c264]
movsx ecx, word [esi + 0x177c256]
lea edx, [eax + ecx - 6]
movsx eax, word [esi + 0x177c254]
movsx ecx, word [esi + 0x177c278]
add eax, edi
push edx
push eax
add ecx, 0x11
push ecx
push 0x10
mov ecx, 0xdc0838
call fcn.0044c5a0
cmp word [esi + 0x177c2ce], 0x49
jne 0x4da71a
movsx edx, word [esi + 0x177c2d6]
mov ecx, dword [0x176582c]
mov eax, dword [edx*4 + 0xd7ea58]
cmp eax, dword [ecx*4 + 0xd7ea58]
jne 0x4da71a
cmp dword [esi + 0x177c678], 0xa0
jle 0x4da6e8
mov ax, word [esi + 0x177c500]
cmp ax, 0x6a
je 0x4da6e8
cmp ax, 0x6b
jne 0x4da71a
movsx edx, word [esi + 0x177c264]
movsx eax, word [esi + 0x177c256]
push 0x10
lea ecx, [edx + eax - 0x1b]
movsx edx, word [esi + 0x177c254]
push ecx
mov ecx, 0xdc0838
lea eax, [edx + edi + 2]
push eax
push 0x1bf
push 0x2e
call fcn.0044c690
cmp dword [esp + 0x2c], ebx
je 0x4da773
mov ax, word [esi + 0x177c2ae]
cmp ax, bx
je 0x4da773
movsx eax, ax
movsx edx, word [esi + 0x177c264]
lea ecx, [eax + 0xdc]
push ebx
push ecx
push 0xac
movsx ecx, word [esi + 0x177c256]
add eax, 0xd4
lea edx, [edx + ecx - 0x36]
movsx ecx, word [esi + 0x177c254]
push edx
push ecx
push eax
push 0xac
mov ecx, 0xdc0838
call fcn.0044e900
mov word [esi + 0x177c2ae], bx
movsx eax, word [esi + 0x177c2ac]
dec eax
je 0x4da8d1
dec eax
je 0x4da833
dec eax
jne 0x4da920
movsx edx, word [esi + 0x177c2ce]
mov edi, dword [0x150c980]
xor eax, eax
lea ebp, [edx - 0x27]
xor ecx, ecx
cmp ebp, 0x26
ja case.0x4da7b0.45
xor edx, edx
mov dl, byte [ebp + 0x4dc204]
jmp dword [edx*4 + 0x4dc1e8]
mov eax, 0x29
mov ecx, 0x3a
jmp case.0x4da7b0.45
mov eax, 0x4f
mov ecx, 0x38
jmp case.0x4da7b0.45
mov eax, 0x24
mov ecx, 0x3d
jmp case.0x4da7b0.45
mov eax, 0xfffffffd
mov ecx, 0x3c
jmp case.0x4da7b0.45
mov eax, 0x2b
mov ecx, 0x23
jmp case.0x4da7b0.45
mov eax, 0x13
mov ecx, 0x24
lea edx, [edi + 0xa4]
push ebx
push edx
push 0xac
movsx edx, word [esi + 0x177c264]
sub edx, ecx
movsx ecx, word [esi + 0x177c256]
add edx, ecx
push edx
movsx edx, word [esi + 0x177c254]
add edx, eax
add edi, 0x94
push edx
push edi
jmp 0x4da90a
movsx edx, word [esi + 0x177c2ce]
mov edi, dword [0x150c980]
xor eax, eax
lea ebp, [edx - 0x27]
xor ecx, ecx
cmp ebp, 0x26
ja case.0x4da854.45
xor edx, edx
mov dl, byte [ebp + 0x4dc248]
jmp dword [edx*4 + 0x4dc22c]
mov eax, 0x29
mov ecx, 0x3a
jmp case.0x4da854.45
mov eax, 0x4f
mov ecx, 0x38
jmp case.0x4da854.45
mov eax, 0x24
mov ecx, 0x3d
jmp case.0x4da854.45
mov eax, 0xfffffffd
mov ecx, 0x3c
jmp case.0x4da854.45
mov eax, 0x2b
mov ecx, 0x23
jmp case.0x4da854.45
mov eax, 0x13
mov ecx, 0x24
lea edx, [edi + 0x84]
push ebx
push edx
push 0xac
movsx edx, word [esi + 0x177c264]
sub edx, ecx
movsx ecx, word [esi + 0x177c256]
add edx, ecx
push edx
movsx edx, word [esi + 0x177c254]
add edx, eax
add edi, 0x74
push edx
push edi
jmp 0x4da90a
mov eax, dword [0x150c980]
push ebx
movsx edx, word [esi + 0x177c264]
lea ecx, [eax + 0x30]
add eax, 0x20
push ecx
push 0xac
movsx ecx, word [esi + 0x177c256]
lea edx, [edx + ecx - 0x46]
movsx ecx, word [esi + 0x177c254]
push edx
movsx edx, word [esi + 0x177c26a]
lea ecx, [ecx + edx - 0x35]
push ecx
push eax
push 0xac
mov ecx, 0xdc0838
call fcn.0044e900
mov word [esi + 0x177c2ac], bx
movsx ebx, word [esi + 0x177c4e2]
mov eax, dword [0x1684a58]
mov dword [esp + 0x2c], ebx
test eax, eax
jne 0x4da93c
test ebx, ebx
jg 0x4d9810
mov esi, dword [esp + 0x18]
xor eax, eax
test esi, esi
je 0x4dabdc
mov ebx, dword [0x9988f0]
jmp 0x4da95a
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
inc eax
cmp eax, 0xa
mov dword [esp + 0x40], eax
jge 0x4dabdc
lea edx, [esi*8]
sub edx, esi
lea esi, [esi + edx*4]
shl esi, 3
cmp word [esi + 0xf0af2c], 0
je 0x4dabdc
mov eax, dword [esi + 0xf0af04]
test eax, eax
je 0x4dabb6
movsx ecx, word [esi + 0xf0af0a]
cmp ecx, 0x76
mov dword [0x9988d8], ecx
je 0x4da9ad
cmp ecx, 0x90
jne 0x4da9fc
mov eax, dword [esp + 0x5c]
inc eax
cmp word [esi + 0xf0afdc], 0
mov dword [esp + 0x5c], eax
jne 0x4da9e4
cmp eax, 0x50
jl 0x4da9e4
cmp eax, 0xc8
mov al, byte [esi + 0xf0afb0]
jge 0x4da9dc
test al, 1
jg 0x4dabdc
jmp 0x4da9e4
test al, 3
jg 0x4dabdc
push 5
mov ecx, 0xf017d0
call fcn.004490a0
mov ebx, dword [0x9988f0]
mov ecx, dword [0x9988d8]
mov eax, dword [esi + 0xf0af0c]
lea edi, [ecx - 0x4c]
xor ebp, ebp
mov dword [0x9988ec], eax
movsx eax, word [esi + 0xf0af40]
cmp edi, 0x7e
ja case.0x4daa24.82
xor edx, edx
mov dl, byte [edi + 0x4dc28c]
jmp dword [edx*4 + 0x4dc270]
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x4dabb6
mov ebp, 1
mov edx, dword [0x150c884]
test edx, edx
je 0x4daa4e
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4daa50
mov eax, ebx
test ebp, ebp
je case.0x4daa24.82
cmp word [esi + 0xf0afc4], 0
je 0x4dac8c
mov edx, dword [0xdc088c]
test edx, edx
je 0x4dac8c
movsx eax, word [esi + 0xf0af22]
mov dword [esp + 0x18], eax
jmp 0x4dabd0
mov edi, dword [esp + 0x10]
xor edx, edx
mov dl, byte [edi + 0x12579f0]
mov edi, ebx
sub edi, edx
mov edx, dword [0x150c884]
test edx, edx
lea eax, [eax + edi + 4]
jne 0x4daab6
mov eax, dword [esp + 0x10]
cmp word [eax*2 + 0x11ba970], 0
je 0x4daabe
lea eax, [ebx + 0x14]
jmp 0x4daa58
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4daac2
mov eax, ebx
jmp 0x4daa58
mov edx, dword [esp + 0x10]
cmp word [edx*2 + 0x11ba970], 0
je 0x4daa58
sub eax, 0xa
jmp 0x4daa58
mov edi, dword [esp + 0x10]
xor edx, edx
mov dl, byte [edi + 0x12579f0]
mov edi, ebx
sub edi, edx
lea eax, [eax + edi + 7]
mov edi, dword [esp + 0x10]
mov edx, dword [edi*4 + 0x111d120]
and edx, 0x400000
je 0x4dab00
add eax, 0x12
mov ebp, dword [0x150c884]
test ebp, ebp
jne 0x4dab2a
cmp word [edi*2 + 0x11ba970], 0
lea eax, [ebx + 0x14]
jne 0x4dab1a
mov eax, ebx
test edx, edx
je 0x4daa58
add eax, 0x12
jmp 0x4daa58
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x4dabb6
jmp 0x4daa58
cmp word [esi + 0xf0af70], 0
je case.0x4daa24.82
mov ecx, dword [0x150c884]
test ecx, ecx
je 0x4dab57
mov ecx, dword [esp + 0x14]
test ecx, ecx
je case.0x4daa24.82
mov eax, ebx
movsx ecx, word [esi + 0xf0af24]
movsx edx, word [esi + 0xf0afb4]
push 0
push ecx
mov ecx, dword [esi + 0xf0af04]
push edx
movsx edx, word [esi + 0xf0af12]
push ecx
mov edi, dword [0x9988d0]
movsx ecx, word [esi + 0xf0af1e]
sub edx, ecx
mov ecx, dword [esp + 0x30]
sub edx, eax
mov eax, dword [0x9988d4]
add edx, eax
movsx eax, word [esi + 0xf0af1c]
push edx
movsx edx, word [esi + 0xf0af10]
sub edx, eax
add edx, edi
push edx
push 0xffffffffffffffff
call fcn.004dd0d0
mov ebx, dword [0x9988f0]
movsx eax, word [esi + 0xf0af22]
cmp dword [esp + 0x18], eax
je 0x4dabdc
mov dword [esp + 0x18], eax
mov eax, dword [0x1684a58]
test eax, eax
jne 0x4dabdc
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4da952
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov cl, byte [edx + 0x1243fe0]
mov edi, ecx
xor ecx, ecx
test edi, edi
mov dword [esp + 0x18], edi
je 0x4dafb7
inc ecx
cmp ecx, 0xa
mov dword [esp + 0x40], ecx
jge 0x4dafb7
lea eax, [edi*8]
sub eax, edi
lea esi, [edi + eax*4]
mov eax, dword [esp + 0x10]
shl esi, 3
cmp dword [esi + 0xf0af50], eax
jne 0x4dafb0
cmp word [esi + 0xf0af2c], 0
je 0x4dafb7
mov edx, dword [esi + 0xf0af04]
test edx, edx
je 0x4daf88
movsx eax, word [esi + 0xf0af0a]
mov ebx, dword [esi + 0xf0af0c]
cmp word [esi + 0xf0afc4], 0
mov dword [0x9988ec], ebx
mov dword [0x9988d8], eax
movsx ebx, word [esi + 0xf0af40]
je 0x4dad91
mov ebp, dword [0xdc088c]
test ebp, ebp
je 0x4dad91
movsx edi, word [esi + 0xf0af22]
mov dword [esp + 0x18], edi
jmp 0x4dafa6
mov dx, word [esi + 0xf0afb4]
test dx, dx
jge 0x4dacf5
movsx edx, dx
or edi, 0xffffffff
mov ebx, dword [0x9988d0]
sub edi, edx
movsx edx, word [esi + 0xf0af24]
push edi
push edx
movsx edx, word [esi + 0xf0af12]
movsx edi, word [esi + 0xf0af1e]
sub edx, edi
mov edi, dword [0x9988d4]
sub edx, eax
push ecx
movsx eax, word [esi + 0xf0af10]
add edx, edi
push edx
movsx edx, word [esi + 0xf0af1c]
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esi + 0xf0af04]
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044e900
jmp 0x4dabb0
je 0x4dad46
movsx edi, word [esi + 0xf0af1e]
movsx edx, dx
push edx
mov ebx, dword [0x9988d0]
movsx edx, word [esi + 0xf0af12]
sub edx, edi
mov edi, dword [0x9988d4]
sub edx, eax
movsx eax, word [esi + 0xf0af10]
add edx, edi
push edx
movsx edx, word [esi + 0xf0af1c]
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esi + 0xf0af04]
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4dabb0
movsx edx, word [esi + 0xf0af12]
movsx edi, word [esi + 0xf0af1e]
sub edx, edi
mov edi, dword [0x9988d4]
sub edx, eax
mov ebx, dword [0x9988d0]
movsx eax, word [esi + 0xf0af10]
add edx, edi
push edx
movsx edx, word [esi + 0xf0af1c]
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esi + 0xf0af04]
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044c5a0
jmp 0x4dabb0
mov cx, word [esi + 0xf0afb4]
test cx, cx
jge 0x4dadf4
movsx ecx, cx
or ebp, 0xffffffff
sub ebp, ecx
movsx ecx, word [esi + 0xf0af24]
push ebp
push ecx
movsx ecx, word [esi + 0xf0af12]
movsx ebp, word [esi + 0xf0af1e]
sub ecx, ebp
mov ebp, dword [0x9988d4]
sub ecx, ebx
push eax
add ecx, ebp
movsx ebp, word [esi + 0xf0af1c]
push ecx
movsx ecx, word [esi + 0xf0af10]
sub ecx, ebp
mov ebp, dword [0x9988d0]
add ecx, ebp
push ecx
push edx
push eax
mov ecx, 0xdc0838
call fcn.0044e900
jmp 0x4dae7c
je 0x4dae3c
movsx ebp, word [esi + 0xf0af1e]
movsx ecx, cx
push ecx
movsx ecx, word [esi + 0xf0af12]
sub ecx, ebp
mov ebp, dword [0x9988d4]
sub ecx, ebx
add ecx, ebp
movsx ebp, word [esi + 0xf0af1c]
push ecx
movsx ecx, word [esi + 0xf0af10]
sub ecx, ebp
mov ebp, dword [0x9988d0]
add ecx, ebp
push ecx
push edx
push eax
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4dae7c
movsx ecx, word [esi + 0xf0af12]
movsx ebp, word [esi + 0xf0af1e]
sub ecx, ebp
mov ebp, dword [0x9988d4]
sub ecx, ebx
add ecx, ebp
movsx ebp, word [esi + 0xf0af1c]
push ecx
movsx ecx, word [esi + 0xf0af10]
sub ecx, ebp
mov ebp, dword [0x9988d0]
add ecx, ebp
push ecx
push edx
push eax
mov ecx, 0xdc0838
call fcn.0044c5a0
cmp word [esi + 0xf0afc4], 0
je 0x4daf88
movsx ebp, word [esi + 0xf0af10]
movsx eax, word [esi + 0xf0af1c]
mov ecx, dword [0x9988d0]
sub ebp, eax
movsx edi, word [esi + 0xf0af12]
mov eax, dword [0x9988d4]
add ebp, ecx
movsx ecx, word [esi + 0xf0af1e]
sub edi, ecx
mov cx, word [esi + 0xf0af2e]
sub edi, ebx
mov edx, 1
add edi, eax
mov ax, word [esi + 0xf0afb4]
cmp cx, 0x2a
mov dword [0xcbf3cc], edx
movsx ebx, ax
mov dword [esp + 0x2c], 0
je 0x4daeeb
cmp cx, 0x2b
jne 0x4daf0d
add eax, 0xfffffffe
mov dword [0xcbf3d0], edx
mov word [esi + 0xf0afb4], ax
cmp word [esi + 0xf0af2e], 0x2b
jne 0x4daf0d
mov dword [esp + 0x2c], 0xff
test ebx, ebx
jge 0x4daf13
xor ebx, ebx
movsx edx, word [esi + 0xf0afce]
movsx ecx, word [esi + 0xf0afcc]
movsx eax, word [esi + 0xf0afc2]
add edx, edi
push ebx
push edx
add ecx, ebp
movsx edx, word [esi + 0xf0afc4]
push ecx
push edx
push eax
mov ecx, 0xdc0838
mov dword [0x9988d8], eax
call fcn.0044c690
movsx ecx, word [esi + 0xf0afd2]
movsx edx, word [esi + 0xf0afd0]
mov eax, dword [esp + 0x2c]
push ebx
xor ebx, ebx
add ecx, edi
push ebx
push 0x12
push eax
mov eax, dword [esi + 0xf0afc8]
push ebx
add edx, ebp
push ecx
push edx
push eax
mov ecx, 0xcbf3b0
call fcn.0046bbd0
mov edi, dword [esp + 0x18]
mov dword [0xcbf3cc], ebx
mov dword [0xcbf3d0], ebx
movsx eax, word [esi + 0xf0af22]
cmp edi, eax
je 0x4dafb7
mov edi, eax
mov eax, dword [0x1684a58]
test eax, eax
mov dword [esp + 0x18], edi
jne 0x4dafb7
mov ecx, dword [esp + 0x40]
test edi, edi
jne 0x4dabf8
jmp 0x4dafb7
mov byte [eax + 0x1243fe0], 0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4db0f7
cmp eax, 0x7d0
jge 0x4db0f7
lea esi, [eax + eax*4]
shl esi, 3
sub esi, eax
shl esi, 2
movsx eax, word [esi + 0x16188d8]
mov edx, dword [esi + 0x16188d4]
mov dword [0x9988d8], eax
mov ecx, dword [eax*4 + 0x8f06f8]
test eax, eax
lea ecx, [ecx + edx - 1]
jle 0x4db0df
test ecx, ecx
je 0x4db0df
test edx, edx
je 0x4db0df
mov edx, dword [esi + 0x16188dc]
mov ebx, dword [0xdc08b0]
mov eax, ecx
mov ecx, dword [ecx*4 + 0x70bff4]
shl eax, 4
mov dword [0x9988ec], edx
add ecx, ebx
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
push ecx
push edx
movsx ecx, word [esi + 0x16188e2]
mov edx, dword [0x9988f0]
push eax
mov eax, dword [0x9988d4]
mov edi, 1
sub eax, ecx
mov ecx, 0xdc0838
sub eax, edx
mov dword [0xdc0848], edi
movsx edx, word [esi + 0x16188e0]
add eax, 6
push eax
mov eax, dword [0x9988d0]
sub eax, edx
add eax, 0xe
push eax
call fcn.0044f4c0
mov eax, dword [0xd16a78]
mov dword [0xdc0848], 0
cmp eax, edi
jne 0x4db0df
cmp word [esi + 0x1618968], 0
je 0x4db0df
mov eax, dword [0x9988d4]
mov ecx, dword [0x9988f0]
mov edx, dword [esp + 0x20]
sub eax, ecx
mov ecx, dword [0x9988d0]
sub eax, 0xdc
push eax
mov eax, dword [edx + 0x18b760]
add ecx, 0xffffffe2
push ecx
mov ecx, 0xc
cdq
idiv ecx
mov ecx, 0xdc0838
add edx, 0x49
push edx
push 0xa8
call fcn.0044c5a0
push 4
mov ecx, 0xf017d0
call fcn.004490a0
push 8
mov ecx, 0xf017d0
call fcn.004490a0
mov edx, dword [0x9988c8]
test edx, edx
je 0x4db277
cmp edx, 0xff
jge 0x4db277
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4db277
mov ecx, dword [esp + 0x10]
movsx esi, word [ecx*2 + 0x12b9c40]
mov eax, esi
and eax, 3
mov dword [0x9988c4], eax
mov eax, dword [0x9988e4]
test ah, 1
je 0x4db17d
mov edx, dword [esp + 0x24]
xor eax, eax
mov ax, word [ecx*2 + 0x10a74c0]
test edx, edx
mov dword [0x9988e0], eax
je 0x4db16e
xor edx, edx
mov dx, word [ecx*2 + 0x10800a0]
mov dword [0x9988bc], edx
call fcn.00453400
jmp 0x4db277
mov dword [0x9988bc], eax
call fcn.00453400
jmp 0x4db277
test eax, 0x100000
je 0x4db211
xor eax, eax
mov ax, word [ecx*2 + 0x10800a0]
cmp eax, 0x20
mov dword [0x9988e0], eax
jne 0x4db1ab
mov eax, dword [0x8f071c]
add eax, 0x1f
mov dword [0x9988e0], eax
jmp 0x4db1f2
mov ecx, dword [esp + 0x20]
add eax, dword [ecx + 0x18b768]
cmp eax, 0x33
jl 0x4db1bd
sub eax, 0x10
mov ecx, dword [0x8f071c]
cmp edx, 0x20
lea eax, [eax + ecx - 1]
mov dword [0x9988e0], eax
jle 0x4db1f2
mov eax, dword [0x9988d4]
mov ecx, dword [esp + 0x58]
sub eax, edx
add ecx, 0xffffff60
cmp eax, ecx
jge 0x4db1f2
push 6
mov ecx, 0xf017d0
call fcn.004490a0
mov edx, dword [0x9988e0]
test esi, 0x800
mov dword [0x9988bc], edx
je 0x4db173
call fcn.00453990
jmp 0x4db277
xor eax, eax
mov ax, word [ecx*2 + 0x10800a0]
test esi, 0x800
mov dword [0x9988e0], eax
mov dword [0x9988bc], eax
je 0x4db234
call fcn.00453990
jmp 0x4db239
call fcn.00453400
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4db277
mov eax, dword [0x9988c0]
mov ebx, dword [0x9988f0]
mov ecx, dword [0x9988d4]
sub eax, ebx
push 0x18
lea edx, [eax + ecx + 9]
mov ecx, dword [0x9988cc]
mov eax, dword [0x9988d0]
push edx
add ecx, 8
push eax
push ecx
push 0x10
mov ecx, 0xdc0838
call fcn.0044c690
mov edi, dword [esp + 0x38]
mov ecx, dword [0x9988d0]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
inc edi
add ecx, 0x20
cmp edi, eax
mov dword [esp + 0x38], edi
mov dword [0x9988d0], ecx
jl 0x4d86b1
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
cmp eax, edx
jne 0x4db2bc
mov ecx, dword [ebx + 0x98]
mov eax, edx
mov dword [esp + 0x1c], eax
add ecx, 0x10
jmp 0x4db2c9
mov ecx, dword [ebx + 0x98]
lea eax, [edx + 1]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x44]
mov dword [0x9988d0], ecx
cmp edi, eax
mov dword [esp + 0x38], edi
jge 0x4dbab1
mov ecx, dword [esp + 0x3c]
lea ecx, [ecx + edi + 0x13978]
mov esi, dword [ebx + ecx*4]
mov dword [esp + 0x10], esi
mov ecx, dword [esi*4 + 0x111d120]
test cl, 0x30
mov dword [0x9988e4], ecx
jne 0x4dba95
cmp edi, 2
jl 0x4db31b
add eax, 0xfffffffe
mov dword [esp + 0x34], 1
cmp edi, eax
jl 0x4db323
mov dword [esp + 0x34], 0
lea edx, [esi*2 + 0x1058c80]
xor eax, eax
xor ecx, ecx
xor edi, edi
mov ax, word [edx]
mov cx, word [esi*2 + 0x100a440]
mov di, word [esi*2 + 0x10ce8e0]
mov dword [0x9988e0], ecx
test eax, eax
mov dword [esp + 0x64], edx
mov dword [0x9988cc], eax
je 0x4db35e
mov ecx, eax
mov dword [0x9988e0], ecx
xor edx, edx
mov dl, byte [esi + 0x12579f0]
mov eax, dword [edx*4 + 0xfbb800]
mov dword [0x9988f0], eax
lea eax, [esi*2 + 0x12b9c40]
mov dword [esp + 0x48], eax
mov ax, word [eax]
mov dl, al
and dl, 0x20
neg dl
sbb edx, edx
and edx, 0x5a
mov dword [0x9988c0], edx
mov edx, dword [esp + 0x10]
movsx esi, word [edx*2 + 0x11ba970]
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4db54b
test esi, esi
je 0x4db46a
lea ecx, [esi + esi*4]
lea ecx, [ecx + ecx*4]
lea edx, [esi + ecx*4]
lea ecx, [esi + edx*2]
mov dx, word [ecx*4 + 0x1a46596]
movsx ecx, dx
mov ecx, dword [ecx*4 + 0x66f550]
cmp ecx, 3
jne 0x4db43c
xor ecx, ecx
test al, 4
je 0x4db3e0
mov ecx, 1
cmp dx, 3
jne 0x4db3fa
mov edx, dword [0x8f096c]
lea eax, [ecx + edx + 0x18]
mov dword [0x9988e0], eax
jmp 0x4db541
cmp dx, 7
jne 0x4db414
mov edx, dword [0x8f096c]
lea eax, [ecx + edx + 0x1a]
mov dword [0x9988e0], eax
jmp 0x4db541
cmp dx, 0x21
mov edx, dword [0x8f096c]
jne 0x4db42e
lea eax, [ecx + edx + 0x1c]
mov dword [0x9988e0], eax
jmp 0x4db541
lea eax, [ecx + edx + 0x1e]
mov dword [0x9988e0], eax
jmp 0x4db541
test ecx, ecx
jl 0x4db541
mov edx, esi
and edx, 1
lea eax, [edx + ecx*2]
mov ecx, dword [0x9988e8]
mov edx, dword [0x8f096c]
and ecx, 3
add edx, ecx
lea eax, [edx + eax*4]
mov dword [0x9988e0], eax
jmp 0x4db541
mov eax, dword [0x9988e4]
test ah, 1
je 0x4db4e6
test ah, 8
je 0x4db4bf
and eax, 1
mov dword [0x9988e4], eax
mov eax, dword [0x8f0728]
lea edx, [eax + 0x86]
cmp ecx, edx
je 0x4db4ab
add eax, 0x88
cmp ecx, eax
je 0x4db4ab
mov eax, dword [0x8f096c]
add eax, 0x28
mov dword [0x9988e0], eax
jmp 0x4db541
mov ecx, dword [0x8f096c]
add ecx, 0x2a
mov dword [0x9988e0], ecx
jmp 0x4db541
test ah, 2
je 0x4db541
mov edx, dword [0x9988e8]
and eax, 1
mov dword [0x9988e4], eax
mov eax, dword [0x8f096c]
and edx, 3
lea ecx, [edx + eax + 0x24]
mov dword [0x9988e0], ecx
jmp 0x4db541
test al, 0x80
je 0x4db541
mov edx, dword [esp + 0x10]
movsx eax, word [edx*2 + 0x1193550]
cmp eax, 0x7d0
jl 0x4db541
sub eax, 0x7d0
shl eax, 5
mov ebp, eax
cmp word [ebp + 0x1664bc6], 1
jle 0x4db541
mov eax, edx
mov cl, byte [eax*2 + 0x10f5d00]
and ecx, 3
inc ecx
push ecx
mov ecx, 0x16188b8
call fcn.004e87d0
movsx edx, word [ebp + 0x1664bbe]
mov ecx, dword [edx*4 + 0x8f06f8]
lea edx, [eax + ecx - 1]
mov dword [0x9988e0], edx
mov dword [0x9988f0], 8
test esi, esi
je 0x4db7ae
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
add eax, 0xffffffd6
cmp ecx, eax
jge 0x4db585
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4db585
cmp dword [esp + 0x38], 4
jle 0x4db585
lea eax, [esi + esi*4]
lea ecx, [eax + eax*4]
lea edx, [esi + ecx*4]
lea eax, [esi + edx*2]
inc word [eax*4 + 0x1a46554]
mov eax, dword [ebx + 0x74]
mov dx, word [0x8f1568]
mov cx, word [eax]
mov word [eax], dx
mov edx, dword [0x9988e0]
mov word [esp + 0x30], cx
mov eax, edx
shl eax, 4
mov cl, byte [eax + 0x7eea04]
test cl, cl
je 0x4db612
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4db612
mov edx, dword [edx*4 + 0x70bff4]
mov ebp, dword [0xdc08b0]
movsx ecx, word [eax + 0x7eea02]
lea edx, [edx + ebp + 0x200]
mov ebp, dword [0x9988f0]
push edx
lea edx, [ecx + 7]
push edx
movsx edx, byte [eax + 0x7eea06]
push edx
mov edx, dword [0x9988c0]
movsx eax, byte [eax + 0x7eea05]
sub edx, ecx
mov ecx, dword [0x9988d4]
sub edx, ebp
add edx, ecx
mov ecx, 0xdc0838
push edx
mov edx, dword [0x9988d0]
add eax, edx
push eax
call fcn.0044cb60
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4db664
lea eax, [esi + esi*4]
lea ecx, [eax + eax*4]
lea edx, [esi + ecx*4]
lea eax, [esi + edx*2]
movsx ecx, word [eax*4 + 0x1a46596]
mov eax, dword [ecx*4 + 0x66f550]
test eax, eax
jl 0x4db664
mov eax, dword [ebx + 0x74]
mov dx, word [eax]
cmp dx, word [0x8f1568]
je 0x4db657
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x28], 0
jmp 0x4db7ae
mov cx, word [esp + 0x30]
mov word [eax], cx
jmp 0x4db7ae
lea eax, [esi + esi*4]
lea edx, [eax + eax*4]
lea eax, [esi + edx*4]
lea ebp, [esi + eax*2]
shl ebp, 2
cmp word [ebp + 0x1a46596], 0x31
jne 0x4db6d0
mov eax, dword [0x150c884]
test eax, eax
je 0x4db6d0
movsx eax, word [ebp + 0x1a465b4]
movsx edx, word [ebp + 0x1a465b2]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + ecx*4 + 0x188740]
lea ecx, [eax + edx + 2]
mov eax, dword [esp + 0x10]
cmp eax, ecx
jne 0x4db6d0
mov ecx, dword [0x9988c0]
mov edx, eax
mov eax, dword [0x9988d4]
push 1
push edx
lea edx, [ecx + eax + 0x18]
mov eax, dword [0x9988d0]
add eax, 0x10
push edx
push eax
push esi
mov ecx, ebx
call fcn.004de2e0
mov ecx, dword [esp + 0x48]
mov cx, word [ecx]
mov eax, ecx
and eax, 0xc
test ax, ax
je 0x4db78b
cmp word [ebp + 0x1a46596], 0x31
jne 0x4db75d
mov edx, dword [0x150c884]
test edx, edx
je 0x4db78b
cmp ax, 0xc
jne 0x4db72d
mov edx, dword [esp + 0x10]
mov eax, dword [0x9988d4]
mov ecx, dword [0x9988c0]
push 0
push edx
lea edx, [ecx + eax + 0x28]
mov eax, dword [0x9988d0]
add eax, 0x10
push edx
push eax
push esi
mov ecx, ebx
call fcn.004de2e0
jmp 0x4db78b
test cl, 8
je 0x4db78b
mov ecx, dword [esp + 0x10]
mov edx, dword [0x9988c0]
push ecx
mov ecx, dword [0x9988f0]
mov eax, dword [0x9988d4]
sub edx, ecx
add edx, eax
mov eax, dword [0x9988d0]
push edx
push eax
push esi
mov ecx, ebx
call fcn.004de400
jmp 0x4db78b
mov edx, dword [0x9988c0]
test cl, 8
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [0x9988f0]
jne 0x4db743
mov eax, dword [0x9988d4]
sub edx, ecx
add edx, eax
mov eax, dword [0x9988d0]
push edx
push eax
push esi
mov ecx, ebx
call fcn.004dd4f0
mov eax, dword [ebx + 0x74]
mov cx, word [eax]
cmp cx, word [0x8f1568]
je 0x4db7a6
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x28], 0
jmp 0x4db7ae
mov dx, word [esp + 0x30]
mov word [eax], dx
mov al, byte [0x9988e4]
mov ebp, dword [esp + 0x48]
test al, 8
je 0x4db810
mov ax, word [ebp]
and eax, 0x4000
test ax, ax
je 0x4db810
mov eax, dword [0x150c980]
mov esi, dword [0x9988f0]
mov edx, dword [0x9988d4]
push 0
lea ecx, [eax + 0x10]
push ecx
mov ecx, dword [0x9988c0]
sub ecx, esi
push 0xac
lea ecx, [ecx + edx - 0x4a]
mov edx, dword [0x9988d0]
add edx, 0xffffffdd
push ecx
push edx
push eax
push 0xac
mov ecx, 0xdc0838
call fcn.0044e900
and byte [ebp + 1], 0xbf
test edi, edi
je 0x4dba7a
mov eax, dword [0x150c884]
mov esi, dword [0x9988f0]
test eax, eax
je 0x4db88f
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4db88f
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx*4 + 0x111d120]
test eax, 0x10000000
je 0x4db85a
mov eax, ecx
mov ecx, 0x1a464b0
movsx eax, word [eax*2 + 0x11ba970]
push eax
call fcn.0040a290
add esi, eax
jmp 0x4db88f
test ah, 1
je 0x4db88f
movsx eax, word [ecx*2 + 0x11ba970]
test eax, eax
je 0x4db88c
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*4]
lea eax, [eax + edx*2]
cmp word [eax*4 + 0x1a46596], 0x2f
jne 0x4db887
add esi, 6
jmp 0x4db88f
add esi, 0x14
jmp 0x4db88f
add esi, 4
mov dword [esp + 0x68], esi
lea ecx, [edi*8]
sub ecx, edi
mov eax, dword [ebx + ecx*4 + 0x189a00]
lea esi, [ebx + ecx*4]
test al, 1
je 0x4dba6c
test al, 8
je 0x4db8e1
mov eax, dword [0x150c884]
test eax, eax
je 0x4db8e1
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4db8e1
mov edx, dword [esp + 0x10]
push 0
push edx
mov ecx, 0xfb7fc0
call fcn.0050c570
test eax, eax
jge 0x4db8e5
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
jmp 0x4db8e5
mov eax, dword [esp + 0x68]
test byte [ebp], 0x10
je 0x4db93b
mov edx, dword [esi + 0x1899f0]
mov ecx, dword [esi + 0x189a00]
push 0
push edx
push ecx
lea ecx, [edi + 0xe0ed]
lea edx, [ecx*8]
sub edx, ecx
mov ecx, dword [ebx + edx*4]
mov edx, dword [esi + 0x1899f8]
sub edx, eax
mov eax, dword [0x9988d4]
add edx, eax
mov eax, dword [esi + 0x1899f4]
push ecx
push edx
mov edx, dword [0x9988d0]
mov ecx, ebx
add eax, edx
push eax
push 0
call fcn.004dd0d0
jmp 0x4dba6c
mov ecx, dword [esi + 0x189a00]
test cl, 4
je 0x4db9d3
mov edx, dword [0x176582c]
and cl, 0x10
neg cl
sbb ecx, ecx
not ecx
and ecx, edx
mov dword [0x9988ec], ecx
mov ecx, dword [esi + 0x1899f0]
mov dword [0x9988d8], ecx
mov ecx, dword [esi + 0x189a00]
test cl, 0x20
je 0x4db9c9
lea edx, [edi + 0xe0ed]
push 0
sar ecx, 0x10
lea edi, [edx*8]
sub edi, edx
mov edx, dword [ebx + edi*4]
mov edi, dword [esi + 0x1899f0]
add ecx, edx
push ecx
mov ecx, dword [esi + 0x1899f8]
sub ecx, eax
mov eax, dword [0x9988d4]
add ecx, eax
mov eax, dword [esi + 0x1899f4]
push edi
push ecx
mov ecx, dword [0x9988d0]
add eax, ecx
mov ecx, 0xdc0838
push eax
push edx
push edi
call fcn.0044e900
jmp 0x4dba6c
test ecx, 0xffff0000
je 0x4dba29
jmp 0x4db9e0
test cl, 0x20
jne 0x4db978
test ecx, 0xffff0000
je 0x4dba29
sar ecx, 0x10
push ecx
mov ecx, dword [esi + 0x1899f8]
mov edx, dword [esi + 0x1899f4]
sub ecx, eax
mov eax, dword [0x9988d4]
add ecx, eax
lea eax, [edi + 0xe0ed]
push ecx
mov ecx, dword [0x9988d0]
add edx, ecx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
push edx
mov edx, dword [ebx + ecx*4]
mov ecx, 0xdc0838
push edx
push eax
call fcn.0044c690
jmp 0x4dba6c
mov ecx, dword [esi + 0x1899f8]
mov edx, dword [esi + 0x1899f4]
sub ecx, eax
mov eax, dword [0x9988d4]
add ecx, eax
lea eax, [edi + 0xe0ed]
push ecx
mov ecx, dword [0x9988d0]
add edx, ecx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x1899f0]
push edx
mov edx, dword [ebx + ecx*4]
mov ecx, 0xdc0838
push edx
push eax
call fcn.0044c5a0
mov edi, dword [esi + 0x189a04]
test edi, edi
jne 0x4db893
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
mov word [ecx], 0
and word [ebp], 0x7fff
mov esi, dword [0x9988d0]
inc edi
add esi, 0x20
cmp edi, eax
mov dword [esp + 0x38], edi
mov dword [0x9988d0], esi
jl 0x4db2df
cmp eax, edx
jne 0x4dbad2
mov ebx, dword [ebx + 0x98]
mov dword [esp + 0x1c], edx
add ebx, 0x10
mov dword [esp + 0x40], 0xc8
mov dword [0x9988d0], ebx
jmp 0x4dbaed
lea eax, [edx + 1]
mov edx, dword [ebx + 0x98]
mov dword [esp + 0x1c], eax
mov dword [0x9988d0], edx
mov dword [esp + 0x40], 0xc9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4dbca3
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x4dbca3
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
lea ecx, [ebx + eax]
lea eax, [edx + ecx*4 + 0x4e5e0]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x48]
xor eax, eax
mov ecx, dword [ecx]
mov ax, word [ecx*2 + 0x1031860]
test eax, eax
mov dword [0x9988e0], eax
je 0x4dbc7c
mov dx, word [ecx*2 + 0x12b9c40]
and edx, 0x3c0
test dx, dx
jne 0x4dbc7c
cmp ebx, 2
jl 0x4dbb6a
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffe
cmp ebx, eax
jge 0x4dbb6a
mov esi, 1
jmp 0x4dbb6c
xor esi, esi
mov eax, dword [ecx*4 + 0x111d120]
test ah, 4
mov dword [0x9988e4], eax
je 0x4dbc7c
movsx eax, word [ecx*2 + 0x11ba970]
lea edx, [eax + eax*4]
lea edx, [edx + edx*4]
lea edx, [eax + edx*4]
lea ebp, [eax + edx*2]
mov ax, word [ebp*4 + 0x1a46580]
test ax, ax
jle 0x4dbc7c
cmp ax, 5
jge 0x4dbc7c
test esi, esi
je 0x4dbc7c
xor edx, edx
mov dl, byte [ecx + 0x12579f0]
mov edx, dword [edx*4 + 0xfbb800]
mov dword [0x9988f0], edx
xor edx, edx
mov dl, byte [ecx + 0x12a6230]
movsx ecx, ax
shl ecx, 5
mov eax, 0x66666667
mov dword [0x9988c8], edx
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call fcn.00452ee0
mov edi, dword [0x9988e0]
add esp, 4
mov ecx, edi
shl ecx, 4
mov al, byte [ecx + 0x7eea04]
test al, al
je 0x4dbc7c
movsx edx, word [ebp*4 + 0x1a46580]
shl edx, 5
mov eax, 0x66666667
imul edx
sar edx, 1
movsx esi, word [ecx + 0x7eea02]
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0xdc08b0]
push edx
mov edx, dword [edi*4 + 0x70bff4]
mov edi, dword [0x9988f0]
lea edx, [edx + eax + 0x200]
lea eax, [esi + 7]
push edx
push eax
movsx edx, byte [ecx + 0x7eea06]
mov eax, dword [0x9988d4]
push edx
movsx ecx, byte [ecx + 0x7eea05]
mov edx, dword [0x9988d0]
sub eax, esi
sub eax, edi
add ecx, edx
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044ddc0
mov edx, dword [esp + 0x48]
mov ecx, dword [0x9988d0]
mov eax, dword [esp + 0x1c]
inc ebx
add edx, 4
add ecx, 0x20
cmp ebx, eax
mov dword [esp + 0x48], edx
mov dword [0x9988d0], ecx
jl 0x4dbb1f
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
add ebx, edx
mov edx, dword [0x9988d4]
inc edi
inc eax
add edx, 8
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x20]
cmp eax, ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x50], eax
mov dword [0x9988d4], edx
jl 0x4d8638
mov ecx, ebx
call fcn.004dc350
mov ecx, ebx
call fcn.004dc350
mov ecx, ebx
call fcn.004dc350
mov ecx, ebx
call fcn.004dc350
mov ecx, ebx
call fcn.004dc350
cmp dword [0x150c9c8], 0xa0
jne 0x4dbde8
cmp dword [0xba395c], 2
jne 0x4dbde8
mov eax, dword [ebx + 0x90]
xor ebp, ebp
cmp eax, ebp
je 0x4dbdf2
mov eax, dword [0xd16a20]
cmp eax, 0x3c
je 0x4dbd45
cmp eax, 0x3e
jne 0x4dbdea
push 0x1a
push 0x2cc
push 0x578
push 0x2cc
push ebp
mov ecx, 0x1d9d5f8
mov dword [0x1d9d604], 1
call fcn.00468af0
push 0x14
push 0x2cd
push 0x578
push 0x2cd
push ebp
mov ecx, 0x1d9d5f8
call fcn.00468af0
push 0xe
push 0x2ce
push 0x578
push 0x2ce
push ebp
mov ecx, 0x1d9d5f8
call fcn.00468af0
push 8
push 0x2cf
push 0x578
push 0x2cf
push ebp
mov ecx, 0x1d9d5f8
call fcn.00468af0
mov ax, word [0x8f1982]
mov ecx, 0x1d9d5f8
push eax
push 0x311
push 0x578
push 0x2d0
push ebp
call fcn.00468960
mov dword [0x1d9d604], ebp
jmp 0x4dbdea
xor ebp, ebp
cmp dword [ebx + 0x90], ebp
jne 0x4dbe14
mov edi, dword [0x1bd5938]
mov edx, dword [ebx + 0x80]
mov esi, dword [ebx + 0x84]
mov ecx, dword [0x1bd593c]
add edi, edx
add esi, ecx
mov eax, edi
mov ecx, esi
jmp 0x4dbe3e
mov esi, dword [ebx + 0x84]
mov ebp, dword [0x1bd593c]
mov edx, dword [ebx + 0x80]
mov edi, dword [0x1bd5938]
lea ecx, [esi + ebp]
lea esi, [esi + ebp*2]
lea eax, [edx + edi]
lea edi, [edx + edi*2 + 0xa0]
xor ebp, ebp
cmp dword [0x9a67e8], ebp
je case.default.0x4dbe6e
mov edx, dword [0x1bd5b04]
cmp edx, 0x3e8
jg 0x4dc085
je 0x4dbfdd
lea eax, [edx - 1]
cmp eax, 4
ja case.default.0x4dbe6e
jmp dword [eax*4 + 0x4dc30c]
mov edx, dword [0xe48ad0]
mov ecx, 0xdc0838
sub esi, edx
add esi, 0x2d
push esi
mov esi, dword [0xe48acc]
sub edi, esi
push edi
push 0x51
push 0x6b
call fcn.0044c5a0
jmp case.default.0x4dbe6e
mov eax, dword [0x150c988]
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 + 0xdc0a08]
sub esi, edx
mov edx, dword [ecx*8 + 0xdc0a04]
mov ecx, dword [0x150c984]
sub edi, edx
mov edx, dword [0x150c980]
push esi
add ecx, edx
push edi
push ecx
push eax
mov ecx, 0xdc0838
call fcn.0044c5a0
jmp case.default.0x4dbe6e
mov eax, dword [0x150c988]
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 + 0xdc0a08]
push edx
mov edx, edi
sub edx, dword [ecx*8 + 0xdc0a04]
mov ecx, dword [0x150c980]
push edx
mov edx, dword [0x150c984]
lea ecx, [edx + ecx + 0x10]
push ecx
push eax
mov ecx, 0xdc0838
call fcn.0044c690
mov eax, dword [0x150c988]
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 + 0xdc0a08]
sub esi, edx
mov edx, dword [ecx*8 + 0xdc0a04]
mov ecx, dword [0x150c980]
sub edi, edx
mov edx, dword [0x150c984]
push esi
add edx, ecx
push edi
push edx
push eax
mov ecx, 0xdc0838
call fcn.0044c5a0
jmp case.default.0x4dbe6e
mov eax, dword [0x150c984]
mov ecx, dword [0x150c988]
add esi, 0xfffffff8
add edi, 0xfffffff8
push esi
push edi
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044c5a0
jmp case.default.0x4dbe6e
mov eax, dword [0x150c990]
mov ebp, dword [0x150c98c]
cdq
idiv ebp
mov eax, dword [0x150c984]
push 0
add edx, eax
mov eax, dword [0x150c988]
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 + 0xdc0a08]
push esi
mov esi, dword [ecx*8 + 0xdc0a04]
sub edi, esi
mov ecx, 0xdc0838
push edi
push edx
push eax
call fcn.0044e900
xor ebp, ebp
jmp case.default.0x4dbe6e
lea esi, [ecx + 4]
lea edi, [eax + 0x1c]
push esi
push edi
push 0x7b
push 0x2e
mov ecx, 0xdc0838
mov dword [0xdc088c], ebp
call fcn.0044c5a0
push ebp
push ebp
push 0x12
push ebp
add esi, 3
push 0xb8eefb
add edi, 0x20
push ebp
push esi
push edi
push 0x5ef8e0
mov ecx, 0xcbf3b0
mov dword [0xcbf3cc], 1
call fcn.0046b790
mov eax, dword [0xd16a78]
push ebp
push 1
push 0x12
push ebp
push 0xb8eefb
push ebp
cmp eax, 6
mov eax, dword [0x176582c]
push esi
push edi
jne 0x4dc05f
lea edx, [eax + eax*2]
lea ecx, [eax + edx*4]
shl ecx, 3
sub ecx, eax
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*4]
mov eax, dword [edx*4 + 0xd5d784]
jmp 0x4dc104
lea ecx, [eax + eax*2]
lea ecx, [eax + ecx*4]
shl ecx, 3
sub ecx, eax
lea edx, [ecx + ecx*8]
lea eax, [eax + edx*4]
mov edx, dword [0x150c970]
mov ecx, dword [eax*4 + 0xd5d7e8]
sub ecx, edx
push ecx
jmp 0x4dc10b
cmp edx, 0x3e9
jne case.default.0x4dbe6e
lea esi, [ecx + 4]
lea edi, [eax + 0x1c]
push esi
push edi
push 0x7e
push 0x2e
mov ecx, 0xdc0838
mov dword [0xdc088c], ebp
call fcn.0044c5a0
push ebp
push ebp
push 0x12
push ebp
add esi, 3
push 0xb8eefb
add edi, 0x20
push ebp
push esi
push edi
push 0x5ef8e0
mov ecx, 0xcbf3b0
mov dword [0xcbf3cc], 1
call fcn.0046b790
mov eax, dword [0x176582c]
push ebp
push 1
push 0x12
lea edx, [eax + eax*2]
push ebp
push 0xb8eefb
push ebp
lea ecx, [eax + edx*4]
push esi
shl ecx, 3
sub ecx, eax
push edi
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*4]
mov eax, dword [edx*4 + 0xd5d7e0]
sub eax, dword [0x150c970]
push eax
mov ecx, 0xcbf3b0
call fcn.0046bb40
push ebp
push 1
push 0x12
push ebp
push 0xb8eefb
push ebp
push esi
push edi
push 0x5ef8dc
mov ecx, 0xcbf3b0
call fcn.0046b790
mov dword [0xcbf3cc], ebp
mov ecx, ebx
mov dword [0x1bd5b04], 0xffffffff
call fcn.004e1710
mov ecx, 0xdc0838
call fcn.0044c120
pop edi
mov dword [0xdc088c], ebp
mov dword [0x150c978], ebp
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret