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

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x6e4
xor edx, edx
mov ebx, dword [ebp + 8]
mov eax, dword [0x4f195c]
xor eax, ebp
mov esi, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0x70]
mov dword [edi + 0x14], edx
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x244], esi
test byte [esi + 0x18c], 0x40
je 0x44ee76
mov ecx, 0x4ced60
jmp 0x44ee7b
mov ecx, 0x4cec40
movzx edx, byte [esi + 0x185]
test edx, edx
je 0x44ef06
dec edx
cmp edx, 4
ja 0x44ef06
movzx eax, byte [edx + 0x4c72d4]
add eax, 0x44ee9f
jmp eax
xor edx, edx
lea eax, [esi + 0x98]
mov dword [ebp - 0x62c], edx
mov dword [ebp - 0x638], edx
mov dword [ebp - 0x664], eax
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], esi
mov dword [ebp - 0x660], ebx
mov ebx, edx
lea ecx, [ebp - 0x3d4]
push ecx
lea esi, [ebp - 0x64c]
push esi
lea ecx, [ebp + 0x10]
push ecx
lea ecx, [ebp + 0xc]
push ecx
call fcn.0046d580
mov dword [ebp - 0x630], eax
add esp, 0x10
cmp dword [ebp - 0x630], 0
jne 0x450a63
mov ecx, dword [ebp - 0x644]
cmp ecx, 2
je 0x450a48
cmp ecx, 1
je 0x450a34
mov eax, dword [ebp - 0x3d4]
lea esi, [eax - 7]
cmp esi, 1
ja 0x44f16b
mov esi, dword [ebp - 0x640]
test esi, esi
je 0x44efa6
mov eax, dword [ebp - 0x648]
cdq
idiv esi
mov esi, eax
jmp 0x44efbf
mov esi, dword [ebp - 0x65c]
test byte [esi + 0x18c], 2
je 0x44f1c6
mov esi, dword [ebp - 0x648]
test esi, esi
je 0x44f1c6
lea eax, [ecx - 0x1c]
cmp eax, 0x10
jbe 0x44efe0
cmp ecx, 0x34
je 0x44efe0
mov dword [ebp - 0x638], 0
jmp 0x44efeb
mov ebx, 1
mov dword [ebp - 0x638], ebx
mov ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x674], ecx
test ecx, ecx
jle 0x44f140
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
mov dword [ebp - 0x670], eax
test eax, eax
jbe 0x44fb0b
mov dword [ebp - 0x63c], ebx
xor eax, eax
mov dword [ebp - 0x688], edi
mov ecx, dword [ebp - 0x670]
lea esi, [esi]
lea edx, [eax + eax*2]
mov ebx, dword [ebp + edx*8 - 0x3c0]
mov dword [ebp + eax*8 - 0x8c], ebx
mov edi, dword [ebp + edx*8 - 0x3c4]
mov ebx, dword [ebp + edx*8 - 0x3b8]
mov edx, dword [ebp + edx*8 - 0x3b4]
mov dword [ebp + eax*8 - 0x108], edi
mov dword [ebp + eax*8 - 0x184], edi
mov dword [ebp + eax*8 - 0x104], ebx
mov dword [ebp + eax*8 - 0x88], edx
mov dword [ebp + eax*8 - 0x180], ebx
inc eax
cmp eax, ecx
jb 0x44f030
mov ebx, dword [ebp - 0x63c]
lea eax, [eax + eax + 1]
mov edi, dword [ebp - 0x688]
lea ecx, [eax - 1]
cmp ecx, dword [ebp - 0x674]
jae 0x44f0bf
lea edx, [eax + eax*2]
mov ecx, dword [ebp + edx*4 - 0x3d0]
mov edx, dword [ebp + edx*4 - 0x3cc]
mov dword [ebp + eax*4 - 0x10c], ecx
mov dword [ebp + eax*4 - 0x90], edx
mov dword [ebp + eax*4 - 0x188], ecx
xor ecx, ecx
cmp dword [ebp - 0x670], 0
jbe 0x44fb01
mov dword [ebp - 0x63c], ebx
xor edx, edx
mov ebx, dword [ebp - 0x670]
mov eax, dword [ebp + edx*8 - 0x184]
sub eax, dword [ebp + edx*8 - 0x108]
imul eax, dword [ebp + edx*8 - 0x8c]
add ecx, eax
mov eax, dword [ebp + edx*8 - 0x180]
sub eax, dword [ebp + edx*8 - 0x104]
imul eax, dword [ebp + edx*8 - 0x88]
inc edx
add ecx, eax
cmp edx, ebx
jb 0x44f0dc
mov ebx, dword [ebp - 0x63c]
lea eax, [edx + edx + 1]
lea edx, [eax - 1]
cmp edx, dword [ebp - 0x674]
jae 0x44f142
mov edx, dword [ebp + eax*4 - 0x188]
sub edx, dword [ebp + eax*4 - 0x10c]
imul edx, dword [ebp + eax*4 - 0x90]
add ecx, edx
jmp 0x44f142
xor ecx, ecx
add ecx, dword [ebp - 0x3cc]
lea eax, [ebp - 0x3d4]
push eax
mov dword [ebp - 0x64c], ecx
lea ecx, [ebp - 0x184]
push ecx
push 0
call fcn.0046f750
add esp, 0xc
jmp 0x44f8ed
lea esi, [eax - 5]
cmp esi, 1
ja 0x44f1d5
mov ecx, dword [ebp - 0x65c]
mov eax, dword [ebp - 0x640]
mov esi, dword [ebp - 0x648]
movzx ecx, byte [ecx + 0x18c]
and ecx, 2
shr ecx, 1
mov dword [ebp - 0x66c], eax
test eax, eax
je 0x44f1af
mov eax, esi
cdq
idiv dword [ebp - 0x66c]
mov esi, eax
test ecx, ecx
jne 0x44f1be
jmp 0x44f8ed
test ecx, ecx
jne 0x44f1b8
mov esi, 0
je 0x44f8ed
test esi, esi
jne 0x44f8ed
mov dword [ebp - 0x62c], 1
jmp 0x44ef34
lea esi, [ecx - 0x1c]
cmp esi, 0x10
ja 0x44f1f1
mov esi, 2
cmp dword [ebp - 0x62c], 0
jne 0x44f7ff
jmp 0x44f20c
cmp ecx, 0x34
je 0x450a10
cmp dword [ebp - 0x62c], 0
jne 0x44ef34
mov esi, 1
cmp ecx, 0x3f
je 0x44fe2b
movzx ecx, byte [edi + 0x29]
test cl, 2
jne 0x44f7e8
mov edx, dword [edi + 0x10]
test edx, edx
jg 0x44f2a4
movzx ecx, byte [edi + 0x28]
test cl, 0x10
jne 0x44f252
test byte [edi + 0x2a], 0x10
jne 0x44f243
mov dword [edi + 0x28], 0
xor ecx, ecx
jmp 0x44f252
mov dword [edi + 0x28], 0
mov byte [edi + 0x2a], 0x10
movzx ecx, byte [edi + 0x28]
test cl, 1
jne 0x44f2d4
xor ecx, ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], ecx
mov eax, dword [ebp - 0x65c]
mov edx, dword [ebp - 0x644]
call fcn.00451160
cmp dword [edi + 0x14], 0
jne 0x44fb15
mov edx, dword [edi + 0x10]
test edx, edx
jle 0x44f2d4
test byte [edi + 0x28], 0x10
je 0x44f2d4
mov eax, dword [ebp - 0x644]
lea ecx, [eax - 0x1c]
cmp ecx, 0x10
jbe 0x44f2d4
cmp eax, 0x34
je 0x44f2d4
dec edx
mov dword [edi + 0x10], edx
movzx ecx, byte [edi + 0x29]
jmp 0x44f2d8
movzx eax, byte [edi + 0x28]
test al, 0x10
jne 0x44f2b2
dec edx
mov dword [edi + 0x10], edx
jmp 0x44f2d8
test al, 1
jne 0x44f2d8
test byte [edi + 0x2a], 8
jne 0x44f2d8
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0x65c]
mov edx, dword [ebp - 0x644]
call fcn.00451160
movzx ecx, byte [edi + 0x29]
test cl, 2
jne 0x44f7e8
cmp dword [edi + 0x10], 0
jle 0x44f32d
movzx ecx, byte [edi + 0x2a]
btr ecx, 5
jae 0x44f32d
test byte [edi + 0x28], 0x10
je 0x44f31e
test esi, 1
je 0x44f310
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
mov dword [edi + 0xc], eax
mov dword [edi + 0x1c], edx
mov byte [edi + 0x2a], cl
jmp 0x44f32d
mov ecx, dword [edi + 0x24]
mov dword [edi + 8], ecx
mov ecx, dword [edi + 0x20]
mov dword [edi + 0x18], ecx
jmp 0x44f32d
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
mov dword [edi + 8], eax
mov dword [edi + 0x18], edx
mov byte [edi + 0x2a], cl
xor ecx, ecx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x654], esi
mov esi, dword [edi + 0x20]
mov dword [ebp - 0x1a0], esi
mov eax, dword [ebp - 0x644]
mov esi, dword [ebp - 0x658]
mov byte [ebp - 0x194], 0
movzx ecx, byte [esi + eax*4 + 3]
mov byte [ebp - 0x190], cl
movsx ecx, byte [esi + eax*4 + 1]
mov dword [ebp - 0x650], ecx
mov word [ebp - 0x198], cx
movsx ecx, byte [esi + eax*4 + 2]
mov word [ebp - 0x196], cx
mov esi, dword [ebp - 0x654]
test byte [edi + 0x2b], 1
jne 0x44f3a1
xor ecx, ecx
mov word [ebp - 0x198], cx
mov dword [ebp - 0x650], ecx
add eax, 0xfffffffb
cmp eax, 0x33
ja 0x44f905
movzx eax, word [eax*2 + 0x4c72dc]
add eax, 0x44f3bc
jmp eax
cmp esi, 1
jle 0x44ef34
mov eax, dword [ebp - 0x3d4]
add eax, 0xfffffff9
cmp eax, 1
jbe 0x44f810
mov ecx, dword [ebp - 0x640]
add dword [ebp - 0x64c], ecx
jmp 0x44f8ec
test ebx, ebx
je 0x44f828
mov edx, dword [ebp - 0x640]
dec esi
add dword [ebp - 0x64c], edx
xor ebx, ebx
jmp 0x44f8ed
cmp dword [ebp - 0x638], 0
mov ecx, dword [ebp - 0x3d0]
mov ebx, 0
mov dword [ebp - 0x634], ecx
setne bl
test ecx, ecx
jle 0x44f8c6
mov eax, ecx
shr eax, 0x1f
xor edx, edx
add eax, ecx
sar eax, 1
test eax, eax
jbe 0x44fcba
mov dword [ebp - 0x63c], ebx
xor ecx, ecx
mov ebx, dword [ebp + ecx*8 - 0x184]
sub ebx, dword [ebp + ecx*8 - 0x108]
imul ebx, dword [ebp + ecx*8 - 0x8c]
add edx, ebx
mov ebx, dword [ebp + ecx*8 - 0x180]
sub ebx, dword [ebp + ecx*8 - 0x104]
imul ebx, dword [ebp + ecx*8 - 0x88]
inc ecx
add edx, ebx
cmp ecx, eax
jb 0x44f862
mov ebx, dword [ebp - 0x63c]
lea ecx, [ecx + ecx + 1]
lea eax, [ecx - 1]
cmp eax, dword [ebp - 0x634]
jae 0x44f8c8
mov eax, dword [ebp + ecx*4 - 0x188]
sub eax, dword [ebp + ecx*4 - 0x10c]
imul eax, dword [ebp + ecx*4 - 0x90]
add edx, eax
jmp 0x44f8c8
xor edx, edx
add edx, dword [ebp - 0x3cc]
lea ecx, [ebp - 0x3d4]
push ecx
mov dword [ebp - 0x64c], edx
lea ecx, [ebp - 0x184]
push ecx
push 0
call fcn.0046f750
add esp, 0xc
dec esi
cmp dword [ebp - 0x62c], 0
jne 0x44f7e8
mov ecx, dword [ebp - 0x644]
jmp 0x44f20c
mov eax, dword [ebp - 0x630]
mov esi, dword [ebp - 0x65c]
mov ebx, dword [ebp - 0x660]
mov dword [edi + 0x14], 0x40
mov edx, 0x40
test edx, edx
jne 0x44fa56
cmp dword [ebp - 0x644], 1
jne 0x44fa3d
mov ecx, dword [esi + 0x60]
test ecx, ecx
jne 0x44f942
mov ecx, dword [esi + 0x54]
mov eax, ecx
cdq
add ecx, dword [esi + 0xd8]
mov eax, dword [esi + 0x48]
adc edx, dword [esi + 0xdc]
sub ecx, dword [esi + 0xe8]
sbb edx, dword [esi + 0xec]
mov dword [ebp - 0x6e0], edx
cdq
sub ecx, dword [esi + 0x48]
mov dword [esi + 0xd0], ecx
sbb dword [ebp - 0x6e0], edx
mov ecx, dword [ebp - 0x6e0]
mov dword [esi + 0xd4], ecx
push dword [edi + 4]
call fcn.00460cc0
add esp, 4
test eax, eax
je 0x44f9d7
mov edx, dword [esi + 0x20]
test edx, edx
je 0x44fd17
test byte [edx + 0x44], 2
je 0x44fced
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x44f9be
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [edi + 4], 0
push dword [esi + 0x118]
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x44fa36
mov edx, dword [esi + 0x20]
test edx, edx
je 0x44fd60
test byte [edx + 0x44], 2
je 0x44fd36
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x44fa1d
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 4], 0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push dword [edi + 4]
call fcn.00460cc0
add esp, 4
test eax, eax
je 0x44faab
mov edx, dword [esi + 0x20]
test edx, edx
je 0x44fdb1
test byte [edx + 0x44], 2
je 0x44fd83
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x44fa92
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [edi + 4], 0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x44fe05
test byte [ecx + 0x44], 2
je 0x44fdd4
mov edx, dword [edi + 0x14]
mov dword [ecx + 0x38], edx
mov ebx, dword [esi + 0x20]
mov ecx, dword [edi + 0x14]
mov dword [ebx + 0x3c], ecx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x44fae5
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
mov eax, dword [edi + 0x14]
cmp ecx, dword [0x4f195c]
jne 0x44fce8
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 1
jmp 0x44f11b
mov eax, 1
jmp 0x44f08e
mov esi, dword [ebp - 0x65c]
jmp 0x44fa56
mov ecx, 1
jmp 0x44f8a1
call fcn.004a91cc
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 0
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 0
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 0
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
mov eax, dword [edi + 0x14]
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
mov eax, dword [edi + 0x14]
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
mov ecx, dword [ebp - 0x65c]
mov ecx, dword [ecx + 0x118]
mov dword [ebp - 0x684], ecx
lea ecx, [ebp - 0x254]
mov dword [ecx], 0x5453494c
mov dword [ecx + 4], 0x45524944
mov dword [ecx + 8], 0x44455443
mov byte [ecx + 0xc], 0
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x44fe72
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x44fe5d
dec eax
mov dword [ebp - 0x678], eax
lea eax, [ebp - 0x67c]
push eax
xor ecx, ecx
push ecx
push 0x39
mov dword [eax - 4], ecx
mov byte [ebp - 0x49c], cl
mov dword [eax + 0x54], 0xffffffff
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], 1
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], ecx
call fcn.00460c10
add esp, 0xc
test eax, eax
jne 0x45097e
mov dword [ebp - 0x654], esi
mov esi, dword [ebp - 0x65c]
mov eax, dword [ebp - 0x67c]
mov ecx, dword [esi + 0x98]
mov dword [eax], ecx
mov edx, dword [ebp - 0x67c]
mov ecx, dword [esi + 0x10c]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x199]
shr eax, 3
and eax, 1
movzx ecx, byte [edx + 0x36]
shl eax, 6
and ecx, 0xffffffbf
or ecx, eax
mov byte [edx + 0x36], cl
mov eax, dword [ebp - 0x67c]
mov ecx, dword [esi + 0x8c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x17a]
mov byte [edx + 0x2c], cl
mov eax, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x17b]
mov byte [eax + 0x2d], cl
mov edx, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x17c]
mov byte [edx + 0x2e], cl
mov eax, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x17f]
mov byte [eax + 0x2f], cl
mov edx, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x180]
mov byte [edx + 0x30], cl
mov eax, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x189]
mov byte [eax + 0x31], cl
mov edx, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x18a]
mov byte [edx + 0x32], cl
mov eax, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x187]
mov byte [eax + 0x33], cl
mov edx, dword [ebp - 0x67c]
movzx ecx, byte [esi + 0x188]
mov byte [edx + 0x34], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x18d]
shr eax, 5
movzx ecx, byte [edx + 0x35]
and eax, 1
and ecx, 0xfffffffe
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x18e]
shr eax, 2
and eax, 1
movzx ecx, byte [edx + 0x35]
add eax, eax
and ecx, 0xfffffffd
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x18f]
shr eax, 5
and eax, 1
movzx ecx, byte [edx + 0x35]
shl eax, 2
and ecx, 0xfffffffb
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x18f]
shr eax, 6
and eax, 1
movzx ecx, byte [edx + 0x35]
shl eax, 3
and ecx, 0xfffffff7
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x18f]
shr eax, 3
movzx ecx, byte [edx + 0x35]
and eax, 0xfffffff0
and ecx, 0xffffffef
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x190]
and eax, 1
movzx ecx, byte [edx + 0x35]
shl eax, 5
and ecx, 0xffffffdf
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x190]
shr eax, 1
and eax, 1
movzx ecx, byte [edx + 0x35]
shl eax, 6
and ecx, 0xffffffbf
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x190]
shr eax, 2
movzx ecx, byte [edx + 0x35]
shl eax, 7
and ecx, 0x7f
or ecx, eax
mov byte [edx + 0x35], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x192]
and eax, 2
movzx ecx, byte [edx + 0x36]
and ecx, 0xfffffffd
or ecx, eax
mov byte [edx + 0x36], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x192]
and eax, 4
movzx ecx, byte [edx + 0x36]
and ecx, 0xfffffffb
or ecx, eax
mov byte [edx + 0x36], cl
mov edx, dword [ebp - 0x67c]
movzx eax, byte [esi + 0x192]
and eax, 1
movzx ecx, byte [edx + 0x36]
and ecx, 0xfffffffe
or ecx, eax
mov byte [edx + 0x36], cl
mov eax, dword [ebp - 0x67c]
mov ecx, dword [esi + 0x94]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x67c]
movzx edx, byte [esi + 0x193]
shr edx, 6
and edx, 1
movzx ecx, byte [eax + 0x36]
shl edx, 4
and ecx, 0xffffffef
or ecx, edx
mov byte [eax + 0x36], cl
mov eax, dword [ebp - 0x67c]
movzx edx, byte [esi + 0x193]
and edx, 0x20
movzx ecx, byte [eax + 0x36]
and ecx, 0xffffffdf
or ecx, edx
mov byte [eax + 0x36], cl
mov eax, dword [ebp - 0x67c]
mov ecx, dword [esi + 0x88]
mov dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x6c]
mov esi, dword [ebp - 0x654]
test ecx, ecx
je 0x450175
mov eax, dword [ebp - 0x67c]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x65c]
mov eax, dword [ebp - 0x67c]
mov edx, dword [ecx + 0x70]
mov edx, dword [edx + 4]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x67c]
mov eax, dword [ecx + 0xa4]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x67c]
mov dword [eax + 0x24], 0
inc word [ecx + 0x178]
mov eax, dword [ecx + 0xa4]
test eax, eax
je 0x4501c8
mov ecx, dword [ebp - 0x67c]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x67c]
jmp 0x4501dc
mov eax, ecx
mov ecx, dword [ebp - 0x67c]
mov dword [eax + 0xa0], ecx
mov ecx, dword [ebp - 0x67c]
mov eax, dword [ebp - 0x65c]
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x68c], ecx
lea ecx, [ebp - 0x6bc]
mov dword [eax + 0x70], ecx
mov dword [ecx + 4], 0
mov edx, dword [eax + 0x98]
mov ecx, dword [ecx + 0x7c]
test edx, edx
je 0x450943
push dword [eax + 0x10c]
push dword [ebp - 0x678]
push edx
lea edx, [ebp - 0x680]
push edx
lea eax, [ebp - 0x628]
push eax
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x684]
push eax
push dword [ebp - 0x64c]
call ecx
add esp, 0x20
mov eax, dword [ebp - 0x65c]
mov ecx, dword [ebp - 0x68c]
mov dword [eax + 0x70], ecx
mov ecx, dword [ebp - 0x6b8]
test ecx, ecx
je 0x45027a
push ecx
call fcn.00460cc0
add esp, 4
test eax, eax
jne 0x4508b1
mov dword [ebp - 0x6b8], 0
mov dword [ebp - 0x654], esi
mov esi, dword [ebp - 0x65c]
mov eax, dword [esi + 0xa4]
mov dword [ebp - 0x690], eax
mov ecx, dword [eax]
mov dword [esi + 0x98], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x10c], ecx
movzx edx, byte [eax + 0x36]
shr edx, 6
and edx, 1
movzx ecx, byte [esi + 0x199]
shl edx, 3
and ecx, 0xfffffff7
or ecx, edx
mov byte [esi + 0x199], cl
mov ecx, dword [eax + 4]
mov dword [esi + 0x8c], ecx
movzx ecx, byte [eax + 0x2c]
mov byte [esi + 0x17a], cl
movzx ecx, byte [eax + 0x2d]
mov byte [esi + 0x17b], cl
movzx ecx, byte [eax + 0x2e]
mov byte [esi + 0x17c], cl
movzx ecx, byte [eax + 0x2f]
mov byte [esi + 0x17f], cl
movzx ecx, byte [eax + 0x30]
mov byte [esi + 0x180], cl
movzx ecx, byte [eax + 0x31]
mov byte [esi + 0x189], cl
movzx ecx, byte [eax + 0x32]
mov byte [esi + 0x18a], cl
movzx ecx, byte [eax + 0x33]
mov byte [esi + 0x187], cl
movzx ecx, byte [eax + 0x34]
mov byte [esi + 0x188], cl
movzx edx, byte [eax + 0x35]
and edx, 1
movzx ecx, byte [esi + 0x18d]
shl edx, 5
and ecx, 0xffffffdf
or ecx, edx
mov byte [esi + 0x18d], cl
movzx edx, byte [eax + 0x35]
shr edx, 1
and edx, 1
movzx ecx, byte [esi + 0x18e]
shl edx, 2
and ecx, 0xfffffffb
or ecx, edx
mov byte [esi + 0x18e], cl
movzx edx, byte [eax + 0x35]
shr edx, 2
and edx, 1
movzx ecx, byte [esi + 0x18f]
shl edx, 5
and ecx, 0xffffffdf
or ecx, edx
mov byte [esi + 0x18f], cl
and ecx, 0xffffffbf
movzx edx, byte [eax + 0x35]
shr edx, 3
and edx, 1
shl edx, 6
or ecx, edx
mov byte [esi + 0x18f], cl
and ecx, 0x7f
movzx edx, byte [eax + 0x35]
shr edx, 4
shl edx, 7
or ecx, edx
mov byte [esi + 0x18f], cl
movzx edx, byte [eax + 0x35]
shr edx, 5
movzx ecx, byte [esi + 0x190]
and edx, 1
and ecx, 0xfffffffe
or ecx, edx
mov byte [esi + 0x190], cl
and ecx, 0xfffffffd
movzx edx, byte [eax + 0x35]
shr edx, 6
and edx, 1
add edx, edx
or ecx, edx
mov byte [esi + 0x190], cl
and ecx, 0xfffffffb
movzx edx, byte [eax + 0x35]
shr edx, 5
and edx, 0xfffffffc
or ecx, edx
mov byte [esi + 0x190], cl
movzx ecx, byte [esi + 0x192]
movzx edx, byte [eax + 0x36]
and ecx, 0xfffffffd
and edx, 2
or ecx, edx
mov byte [esi + 0x192], cl
and ecx, 0xfffffffb
movzx edx, byte [eax + 0x36]
and edx, 4
or ecx, edx
mov byte [esi + 0x192], cl
and ecx, 0xfffffffe
movzx edx, byte [eax + 0x36]
and edx, 1
or ecx, edx
mov byte [esi + 0x192], cl
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x94], ecx
movzx edx, byte [eax + 0x36]
shr edx, 4
and edx, 1
movzx ecx, byte [esi + 0x193]
shl edx, 6
and ecx, 0xffffffbf
or ecx, edx
mov byte [esi + 0x193], cl
and ecx, 0xffffffdf
movzx edx, byte [eax + 0x36]
and edx, 0x20
or ecx, edx
mov byte [esi + 0x193], cl
mov ecx, dword [eax + 0x18]
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x88], ecx
mov esi, dword [ebp - 0x654]
test eax, eax
je 0x45048c
mov ecx, dword [ebp - 0x690]
mov ecx, dword [ecx + 0x20]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x65c]
mov dword [ebp - 0x654], esi
mov esi, dword [ebp - 0x690]
mov edx, dword [ecx + 0x70]
push esi
mov eax, dword [esi + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x28]
mov dword [ecx + 0xa4], eax
dec word [ecx + 0x178]
xor ecx, ecx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x24], ecx
mov esi, dword [ebp - 0x654]
call fcn.00460cc0
mov dword [ebp - 0x630], eax
add esp, 4
cmp dword [ebp - 0x630], 0
jne 0x45081f
mov ecx, dword [ebp - 0x680]
test ecx, ecx
je 0x44f7e8
mov eax, dword [ebp - 0x65c]
cmp dword [eax + 0x10c], 0
je 0x45055d
test ecx, ecx
jl 0x4506d0
mov esi, eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4506ac
test byte [eax + 0x44], 2
je 0x45067d
mov dword [eax + 0x38], 0x7f
mov edx, dword [esi + 0x20]
mov eax, dword [ebp - 0x680]
mov dword [edx + 0x3c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x45053f
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
mov eax, 0x7f
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
lea ecx, [ebp - 0x49c]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x45057a
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x450565
dec eax
mov ecx, dword [ebp - 0x65c]
push dword [ebp - 0x664]
push 0
mov dword [ecx + 0x10c], eax
inc eax
push eax
call fcn.00460c10
mov dword [ebp - 0x630], eax
add esp, 0xc
cmp dword [ebp - 0x630], 0
jne 0x45078d
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x6c8], 0
mov edx, dword [eax + 0x10c]
inc edx
mov ecx, dword [eax + 0x98]
mov dword [ebp - 0x6cc], edx
cmp byte [ebp - 0x49c], 0
je 0x45060f
mov dword [ebp - 0x688], edi
mov edi, edx
mov edx, dword [ebp - 0x6c8]
cmp edx, edi
jge 0x450782
movzx eax, byte [ebp + edx - 0x49c]
mov byte [edx + ecx], al
inc edx
cmp byte [ebp + edx - 0x49c], 0
jne 0x4505e5
mov dword [ebp - 0x6c8], edx
mov edi, dword [ebp - 0x688]
mov eax, dword [ebp - 0x6cc]
cmp eax, dword [ebp - 0x6c8]
jle 0x450649
sub eax, dword [ebp - 0x6c8]
mov dword [ebp - 0x6cc], eax
cmp eax, 0x60
jle 0x4506f4
push dword [ebp - 0x6cc]
push 0x20
add ecx, dword [ebp - 0x6c8]
push ecx
call fcn.004a08c0
add esp, 0xc
mov edx, dword [ebp - 0x65c]
mov eax, dword [edx + 0x98]
mov ecx, dword [edx + 0x10c]
mov byte [ecx + eax], 0
or byte [edx + 0x199], 8
mov ecx, dword [ebp - 0x680]
test ecx, ecx
jl 0x4506d0
je 0x44f7e8
mov esi, edx
jmp 0x450508
push ecx
movzx eax, byte [esi + 0x190]
push 0x7f
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push ecx
push 0x7f
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
cmp ecx, 0xffffffff
je 0x4506e9
cmp ecx, 0xfffffffe
je 0x4506e9
mov dword [ebp - 0x680], 0
jmp 0x44f7e8
mov esi, dword [ebp - 0x65c]
jmp 0x450508
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
mov dword [ebp - 0x6d0], edx
test edx, edx
jbe 0x45077b
mov eax, dword [ebp - 0x6c8]
xor edx, edx
mov dword [ebp - 0x6d4], ecx
mov dword [ebp - 0x654], esi
mov dword [ebp - 0x688], edi
add eax, ecx
mov dword [ebp - 0x6d8], eax
mov eax, 0x20
mov ecx, dword [ebp - 0x6d8]
mov esi, dword [ebp - 0x6d0]
mov byte [ecx + edx*2], al
mov byte [ecx + edx*2 + 1], al
inc edx
cmp edx, esi
jb 0x45073a
mov ecx, dword [ebp - 0x6d4]
lea edx, [edx + edx + 1]
mov esi, dword [ebp - 0x654]
mov edi, dword [ebp - 0x688]
lea eax, [edx - 1]
cmp eax, dword [ebp - 0x6cc]
jae 0x450649
add ecx, dword [ebp - 0x6c8]
mov byte [edx + ecx - 1], 0x20
jmp 0x450649
mov edx, 1
jmp 0x45075c
mov edi, dword [ebp - 0x688]
jmp 0x450649
mov esi, dword [ebp - 0x65c]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x4507fc
test byte [edx + 0x44], 2
je 0x4507ce
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x4507b8
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
mov esi, dword [ebp - 0x65c]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45088e
test byte [edx + 0x44], 2
je 0x450860
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45084a
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
mov esi, dword [ebp - 0x65c]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x450920
test byte [edx + 0x44], 2
je 0x4508f2
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x4508dc
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 0
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push 0xc8
push dword [ebp - 0x678]
lea eax, [ebp - 0x49c]
push eax
lea edx, [ebp - 0x680]
push edx
lea eax, [ebp - 0x628]
push eax
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x684]
push eax
push dword [ebp - 0x64c]
call ecx
jmp 0x450243
mov esi, dword [ebp - 0x65c]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x4509ed
test byte [edx + 0x44], 2
je 0x4509bf
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x4509a9
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
mov esi, 2
cmp dword [ebp - 0x62c], 0
jne 0x44f7ff
movzx ecx, byte [edi + 0x29]
test cl, 2
jne 0x44f7f7
jmp 0x44f222
mov esi, dword [ebp - 0x65c]
mov ebx, dword [ebp - 0x660]
mov edx, dword [edi + 0x14]
jmp 0x44f923
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov esi, dword [ebp - 0x65c]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x450ad2
test byte [edx + 0x44], 2
je 0x450aa4
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x450a8e
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x44fce8
jmp 0x44f9cf