Function at 0x44d711
Capabilities:
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1e8
mov eax, dword [0x4b6074]
mov esi, ecx
sub ecx, 0xffffff80
lea ebp, [esp + 0xe4]
lea edx, [esi + 0xe18]
lea edi, [esi + 0xec]
xor eax, esp
mov dword [esp + 0x1e4], eax
mov dword [esp], edx
lea edx, [esi + 0xd8]
mov dword [esp + 0x24], edi
lea edi, [esi + 0x40]
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], edx
lea edx, [esi + 0x6c]
mov dword [esp + 8], edi
lea edi, [esi + 0x58]
mov dword [esp + 4], edx
lea edx, [esi + 0xe28]
mov dword [esp + 0x1c], edi
lea edi, [esi + 0x28]
mov dword [esp + 0x10], edx
lea edx, [esi + 0xa12]
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], edx
xor edx, edx
dec edx
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
test edi, edi
jne 0x44d810
cmp eax, 0xffffffff
jne 0x44d810
mov ebx, dword [esp + 0x2c]
push ebx
call fcn.00455ccd
add esp, 4
test eax, eax
je 0x45081f
push ebx
call fcn.00455e18
add esp, 4
mov ecx, 0x100
mov edi, edx
cmp edx, ecx
cmovae edi, ecx
push edi
push eax
push ebp
call fcn.00471560
add esp, 0xc
push edi
push ebx
call fcn.00455d87
add esp, 8
test edi, edi
mov ecx, ebp
jne 0x44d827
push 0xc2d
push str..._terminal.c
push str.nchars___0
call fcn.0047b26f
add esp, 0xc
xor edi, edi
mov ecx, ebp
jmp 0x44d827
mov ebx, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x44d81f
mov dword [esp + 0x50], eax
jmp 0x44d856
mov ecx, dword [esp + 0x28]
test edi, edi
je 0x44d7c3
movzx eax, byte [ecx]
inc ecx
dec edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x50], eax
cmp dword [esi + 0x10e0], 2
jne 0x44d856
mov ecx, dword [esi + 0x105c]
test ecx, ecx
je 0x44d856
movzx eax, al
push 2
push eax
push ecx
call fcn.0040f510
add esp, 0xc
cmp byte [esi + 0xe4], 0
mov dword [esp + 0x30], edi
je 0x44d8aa
push 1
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x2c]
call fcn.00455ce8
add esp, 0xc
cmp byte [esi + 0xe5], 0
je 0x44d8aa
mov eax, dword [esp + 0x50]
cmp eax, 0x5a
jle 0x44d904
cmp eax, 0x5b
je 0x44d923
cmp eax, 0x69
je 0x44d938
cmp eax, 0x9b
je 0x44d92c
jmp 0x44d954
mov eax, dword [esp]
mov edx, dword [esp + 0x50]
cmp dword [eax], 0
je 0x44d8c2
xor eax, eax
dec eax
mov dword [esp + 0x14], eax
jmp 0x44d983
movzx eax, dl
push eax
push dword [esp + 0x48]
push esi
call fcn.0044b68f
add esp, 0xc
cmp eax, 0x8000003f
mov ecx, 0xffffffff
mov dword [esp + 0x14], ecx
je 0x44d79d
mov edx, 0xd961
cmp eax, 0x8000002a
je 0x44d978
cmp eax, 0x80000021
jne 0x44d976
mov eax, dword [esp + 0x50]
jmp 0x44d97b
cmp eax, 0x1b
je 0x44d960
cmp eax, 0x34
jne 0x44d954
cmp dword [esi + 0xe8], 2
jne 0x44d954
mov dword [esi + 0xe8], 3
jmp 0x44d96a
cmp dword [esi + 0xe8], 1
jne 0x44d954
mov dword [esi + 0xe8], 2
jmp 0x44d96a
cmp dword [esi + 0xe8], 3
jne 0x44d954
mov ecx, esi
mov dword [esi + 0xe8], 4
call fcn.0044a805
jmp 0x44d96a
mov dword [esi + 0xe8], 0
jmp 0x44d96a
mov dword [esi + 0xe8], 1
xor eax, eax
dec eax
mov dword [esp + 0x14], eax
jmp 0x44d79d
mov edx, eax
xor eax, eax
dec eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x50], edx
mov eax, edx
and eax, 0xffffffe0
cmp eax, 0x80
jne 0x44d9a9
mov eax, dword [esp]
cmp dword [eax], 4
jg 0x44d9a9
cmp byte [esi + 0x13e], 0
jne 0x44d9a9
test byte [esi], 0x10
jne 0x44da6a
mov ebx, dword [esp + 0x1c]
cmp edx, 0x7f
jne 0x44d9ed
mov eax, dword [esp]
mov eax, dword [eax]
cmp eax, 4
jg 0x44da44
test byte [esi + 1], 0x40
je 0x44da44
mov edx, dword [esi + 0x98]
test edx, edx
je 0x44da83
cmp byte [esi + 0xae], 0
jne 0x44da85
dec edx
mov dword [esi + 0x98], edx
jmp 0x44da85
mov eax, dword [esp]
cmp edx, 0x1f
mov eax, dword [eax]
ja 0x44da44
cmp eax, 4
jg 0x44da44
add edx, 0xfffffffb
cmp edx, 0x16
ja case.0x44e597.92
jmp dword [edx*4 + 0x4958d0]
test byte [esi], 1
je 0x44e4ef
mov eax, dword [esi + 0x1054]
test eax, eax
je case.0x44e597.92
xor ecx, ecx
push ecx
push dword [esi + 0x10a8]
push dword [esi + 0x10a4]
push ecx
push eax
call fcn.0040eefc
add esp, 0x14
jmp case.0x44e597.92
cmp eax, 0xd
ja case.0x44e597.92
jmp dword [eax*4 + 0x49592c]
mov ecx, esi
call fcn.00452e4e
mov eax, dword [esp + 0x50]
mov dword [esi + 0x1064], eax
jmp case.0x44e597.92
cmp edx, 0x9a
jne 0x44de25
mov dword [esp + 0x50], 0
jmp case.0x44e597.92
xor edx, edx
xor eax, eax
mov byte [esi + 0xae], al
cmp byte [esi + 0x10e9], al
jne case.0x44e597.92
mov ecx, esi
push dword [esi + 0x94]
call fcn.004516b2
add esp, 4
mov edx, dword [esi + 0x98]
mov ecx, esi
inc edx
push dword [esi + 0x94]
call fcn.004516b2
add esp, 4
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x98]
xor eax, eax
mov ecx, esi
inc eax
push eax
push 0xc8c
call fcn.0044aa06
add esp, 8
mov ecx, eax
mov edx, edi
push dword [esp + 4]
call fcn.00451781
add esp, 4
jmp case.0x44e597.92
mov eax, dword [esp]
mov dword [eax], 0
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x44debf
mov ecx, dword [esi + 0x204]
cmp ecx, 0x20
jg 0x44dee7
lea ecx, [esi + ecx*4 + 0x180]
mov edi, dword [ecx]
test edi, edi
jne 0x44db3a
mov dword [ecx], 0
mov ecx, dword [esi + 0x204]
lea ecx, [esi + ecx*4 + 0x180]
mov edi, dword [ecx]
cmp edi, 0x19999999
mov ebx, 0xffffffff
ja 0x44db61
add edi, edi
mov ebx, 0xffffffcf
lea edi, [edi + edi*4]
sub ebx, edx
mov edx, 0xffffffff
add eax, edi
cmp edi, ebx
cmova eax, edx
mov ebx, eax
mov dword [ecx], ebx
jmp 0x44dee7
lea eax, [edx - 0x30]
mov byte [esi + 0xa11], 0
cmp eax, 0x22
ja case.default.0x44db7b
jmp dword [eax*4 + 0x495a54]
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + eax*4 + 0x180]
cmp ecx, 0x19999999
ja 0x44dbab
add ecx, ecx
mov edi, 0xffffffcf
lea ecx, [ecx + ecx*4]
sub edi, edx
cmp ecx, edi
jbe 0x44e50b
mov dword [esi + eax*4 + 0x180], 0xffffffff
jmp case.0x44e597.92
lea eax, [edx - 0x30]
cmp eax, 9
ja case.0x44db7b.58
mov ecx, dword [esi + 0x184]
cmp ecx, 0x19999999
ja 0x44dbe9
add ecx, ecx
mov edi, 0xffffffcf
lea ecx, [ecx + ecx*4]
sub edi, edx
cmp ecx, edi
jbe 0x44e5fc
mov dword [esi + 0x184], 0xffffffff
jmp case.0x44e597.92
mov eax, dword [esi + 0x20c]
mov ecx, 0xf
mov edi, 0x15
lea ebx, [edx - 0x30]
test eax, eax
cmove ecx, edi
cmp ebx, 0xa
jb 0x44e2b3
cmp edx, 0x41
jl 0x44e29a
lea edi, [ecx + 0x37]
cmp edx, edi
jg 0x44e29a
add edx, 0xffffffc9
jmp 0x44e2b1
cmp edx, 0xc
jle 0x44e12f
cmp edx, 0x9c
je 0x44e1ef
cmp edx, 0x1b
je 0x44e4fd
cmp edx, 0xd
je 0x44e4ef
jmp 0x44e141
cmp edx, 0x5c
jne case.0x44da4d.1
mov ecx, esi
call fcn.00453347
jmp 0x44e333
mov dword [esi + 0xe18], 0
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], 0
jne 0x44dcb1
mov byte [esi + 0x106d], 1
push esi
push 0x451b30
push 0x14
call fcn.00453f00
add esp, 0xc
mov dword [esi + 0x1070], eax
mov edx, dword [esp + 0x50]
add edx, 0xffffffc4
cmp edx, 0x3b
ja case.0x44e597.92
jmp dword [edx*4 + 0x495964]
mov byte [esi + 0x13e], 0
mov al, byte [esi + 0x10c7]
mov byte [esi + 0xc9], al
mov ecx, esi
call fcn.0044a8d0
jmp case.0x44e597.92
mov dword [esi + 0xe18], 0xb
add edx, 0xffffffe0
mov ebx, 0
mov eax, dword [esi + 0x98]
mov edi, dword [esi + 0x12c]
mov ecx, dword [esi + 0x128]
test eax, eax
cmovs eax, ebx
cmp eax, edi
lea edi, [edi - 1]
cmovl edi, eax
test edx, edx
lea eax, [ecx - 1]
cmovs edx, ebx
mov dword [esi + 0x98], edi
cmp edx, ecx
cmovl eax, edx
mov dword [esi + 0x94], eax
jmp 0x44dd70
xor edi, edi
add edx, 0xffffffe0
mov dword [esi + 0xe18], edi
cmovs edx, edi
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x94]
cmp edx, eax
lea eax, [eax - 1]
cmovl eax, edx
mov edx, dword [esi + 0x128]
test ecx, ecx
cmovs ecx, edi
mov dword [esi + 0x98], eax
cmp ecx, edx
lea edx, [edx - 1]
cmovl edx, ecx
mov dword [esi + 0x94], edx
mov byte [esi + 0xae], 0
jmp case.0x44e597.92
mov dword [esi + 0xe18], 0
mov ecx, 0xfffbfe00
and edx, 0xf
mov eax, dword [esi + 0x40]
and eax, ecx
mov ecx, dword [esp + 4]
or edx, eax
mov dword [esi + 0x40], edx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x44e597.92
and edx, 0x3fe0f
jmp 0x44de17
mov dword [esi + 0xe18], 0
and edx, 0xf
mov ecx, 0xffdc01ff
mov eax, dword [esi + 0x40]
shl edx, 9
and eax, ecx
mov ecx, dword [esp + 4]
or edx, eax
mov dword [esi + 0x40], edx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x44e597.92
and edx, 0x1fff
mov dword [esi + 0x70], edx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x78], eax
jmp case.0x44e597.92
and edx, 0x1f
mov dword [esi + 0xe18], 1
mov dword [esi + 0x208], 0
or edx, 0x40
mov dword [esp + 0x50], edx
mov eax, edx
and eax, 0xfffffff0
cmp eax, 0x20
jne 0x44de69
cmp dword [esi + 0x208], 0
je 0x44e1e4
mov dword [esi + 0x208], 0xffffffff
jmp case.0x44e597.92
mov dword [esi + 0xe18], 0
mov eax, dword [esi + 0x208]
shl eax, 8
add eax, edx
cmp eax, 0x2337
jg 0x44e0d5
cmp eax, 0x59
jg 0x44e205
lea ecx, [eax - 0x37]
cmp ecx, 7
jbe switch.0x0044e51b
add eax, 0xffffffbc
cmp eax, 9
ja case.0x44e597.92
jmp dword [eax*4 + 0x495e10]
test byte [esi], 2
je 0x44ec99
jmp 0x44ec51
cmp edx, 0x3b
jne 0x44e342
mov eax, dword [esi + 0x204]
cmp eax, 0x1f
jg 0x44dee7
lea ecx, [eax + 1]
mov dword [esi + 0x204], ecx
mov dword [esi + eax*4 + 0x184], 0
mov eax, dword [esp]
mov dword [eax], 2
jmp case.0x44e597.92
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [esi + 0x34], 0
mov edi, dword [esp + 0x40]
mov ebp, eax
jne 0x44e796
push 8
push 1
call fcn.00410d70
add esp, 8
xor ecx, ecx
mov dword [eax + 4], ebp
mov dword [eax], ecx
cmp dword [edi], ecx
je 0x44e78c
mov ecx, dword [esi + 0x2c]
jmp 0x44e78e
mov eax, dword [esi + 0x98]
test eax, eax
je 0x44e438
cmp byte [esi + 0xae], 0
je 0x44e691
mov byte [esi + 0xae], 0
jmp 0x44e698
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x98]
mov ecx, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], edx
push 1
push 0xd27
call fcn.0044aa06
add esp, 8
mov ebx, dword [esi + 0x98]
mov edi, dword [esi + 0x12c]
lea edx, [edi - 1]
inc ebx
mov ecx, ebx
cmp ebx, edx
mov dword [esi + 0x98], ebx
jge 0x44dfa6
mov ebp, dword [esi + 0xe14]
lea ebx, [ecx + 1]
cmp byte [ebp + ecx], 0
je 0x44df8a
test byte [eax], 3
je 0x44e474
mov eax, edi
shr eax, 0x1f
add eax, edi
mov edi, dword [esp + 0xc]
sar eax, 1
cmp ecx, eax
jl 0x44e484
dec eax
mov dword [esi + 0x98], eax
mov ecx, eax
jmp 0x44e484
test byte [esi + 1], 0x10
jne 0x44e376
test byte [esi], 2
je 0x44e4ef
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x44e167
mov edx, dword [esi + 0xa4]
xor edi, edi
mov ecx, esi
inc edi
push edi
push edi
push eax
call fcn.004513df
add esp, 0xc
jmp 0x44e179
xor eax, eax
mov dword [esi + 0x98], 0
mov byte [esi + 0xae], al
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], al
jne 0x44e050
mov byte [esi + 0x106d], 1
push esi
push 0x451b30
push 0x14
call fcn.00453f00
add esp, 0xc
mov dword [esi + 0x1070], eax
cmp byte [esi + 0x10d4], 0
je 0x44e1c0
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x44e5e1
mov edx, dword [esi + 0xa4]
xor edi, edi
mov ecx, esi
inc edi
push edi
push edi
push eax
call fcn.004513df
add esp, 0xc
jmp 0x44e1c0
test byte [esi], 2
je 0x44e4ef
mov dword [esi + 0xb0], 1
jmp case.0x44e597.92
test byte [esi], 2
je 0x44e4ef
mov dword [esi + 0xb0], 0
jmp case.0x44e597.92
cmp byte [esi + 0x13e], 0
je 0x44e4e6
mov eax, dword [esp]
mov dword [eax], 9
jmp case.0x44e597.92
cmp eax, 0x2841
jg 0x44e3e7
cmp eax, 0x2546
jg 0x44e6a4
cmp eax, 0x2338
je 0x44ea6b
cmp eax, 0x2538
je 0x44e769
cmp eax, 0x2540
jne case.0x44e597.92
test byte [esi + 1], 0x40
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov byte [esi + 0xd5], 0
jmp case.0x44e597.92
cmp edx, 7
je 0x44e1ef
cmp edx, 0xa
je 0x44e4ef
mov eax, dword [esi + 0x20c]
cmp eax, 0x7ff
jg case.0x44e597.92
lea ecx, [eax + 1]
mov dword [esi + 0x20c], ecx
mov byte [esi + eax + 0x210], dl
jmp case.0x44e597.92
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x44e179
inc eax
mov dword [esi + 0x94], eax
cmp byte [esi + 0x10dc], 0
je 0x44e18c
mov dword [esi + 0x98], 0
xor eax, eax
mov byte [esi + 0xae], al
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], al
jne 0x44e1c0
mov byte [esi + 0x106d], 1
push esi
push 0x451b30
push 0x14
call fcn.00453f00
add esp, 0xc
mov dword [esi + 0x1070], eax
mov eax, dword [esi + 0x105c]
test eax, eax
je case.0x44e597.92
movzx ecx, byte [esp + 0x50]
push 1
push ecx
push eax
call fcn.0040f510
add esp, 0xc
jmp case.0x44e597.92
mov dword [esi + 0x208], edx
jmp case.0x44e597.92
mov ecx, esi
call fcn.00453347
mov dword [esi + 0xe18], 0
jmp case.0x44e597.92
lea ecx, [eax - 0x5a]
cmp ecx, 9
jbe switch.0x0044e597
lea ecx, [eax - 0x2333]
cmp ecx, 4
jae case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp ecx, 2
mov ecx, 1
mov ebp, ecx
ja 0x44e23d
movzx ebp, word [eax + eax + 0x4911fe]
mov edx, dword [esi + 0x94]
mov ecx, esi
push 1
push 0xddf
call fcn.0044aa06
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x12c]
cmp eax, dword [edi + 4]
je 0x44e26e
mov ecx, esi
mov edx, edi
push eax
call fcn.00451894
add esp, 4
mov al, byte [edi + 0x18]
cmp al, byte [esi + 0x10a0]
je 0x44e28b
mov ecx, esi
mov edx, edi
call fcn.00451850
mov al, byte [esi + 0x10a0]
mov byte [edi + 0x18], al
mov word [edi], bp
lea ebp, [esp + 0xe4]
jmp case.0x44e597.92
cmp edx, 0x61
jl 0x44e4ef
add ecx, 0x57
cmp edx, ecx
jg 0x44e4ef
add edx, 0xffffffa9
mov ebx, edx
lea ecx, [eax + 1]
mov dword [esi + 0x20c], ecx
mov byte [esi + eax + 0x210], bl
cmp dword [esi + 0x20c], 7
jl case.0x44e597.92
movsx eax, byte [esi + 0x215]
movsx ecx, byte [esi + 0x216]
movsx edx, byte [esi + 0x214]
mov ebx, dword [esi + 0x1058]
movsx edi, byte [esi + 0x212]
shl eax, 4
mov ebp, dword [ebx]
add ecx, eax
movsx eax, byte [esi + 0x213]
shl eax, 4
add edx, eax
movsx eax, byte [esi + 0x211]
shl eax, 4
add edi, eax
movsx eax, byte [esi + 0x210]
push ecx
push edx
push edi
push eax
push ebx
call dword [ebp + 0x58]
lea ebp, [esp + 0xf8]
add esp, 0x14
push esi
call fcn.0044b966
add esp, 4
mov dword [esi + 0xe18], 0
jmp case.0x44e597.92
mov eax, dword [esi + 0x208]
cmp edx, 0x3f
ja 0x44e609
mov ecx, 1
cmove edx, ecx
cmp eax, ecx
sbb eax, eax
not eax
or eax, edx
mov dword [esi + 0x208], eax
mov dword [esi + 0xe18], 2
jmp case.0x44e597.92
mov ecx, dword [esi + 0x12c]
mov eax, dword [esi + 0x128]
mov ebx, 0
test ecx, ecx
lea ecx, [ecx - 1]
cmovg ecx, ebx
test eax, eax
lea eax, [eax - 1]
cmovg eax, ebx
mov dword [esi + 0x98], ecx
xor edx, edx
mov ecx, esi
mov dword [esi + 0x94], eax
mov byte [esi + 0xae], bl
push 1
push ebx
call fcn.00451166
add esp, 8
cmp byte [esi + 0x10f9], bl
je 0x44e3c7
mov dword [esi + 0x10], 0
xor eax, eax
mov byte [esi + 0xae], al
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], al
jne case.0x44e597.92
jmp 0x44e8e5
cmp eax, 0x2940
jg 0x44e6ea
cmp eax, 0x2842
je 0x44eb8c
cmp eax, 0x2855
je 0x44ebb1
cmp eax, 0x2930
jne case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x158], 0xd900
jmp case.0x44e597.92
mov ecx, dword [esi + 0x94]
test ecx, ecx
je 0x44e698
cmp byte [esi + 0xad], 0
je 0x44e698
test ecx, ecx
jle 0x44df3c
mov eax, dword [esi + 0x12c]
dec ecx
dec eax
mov dword [esi + 0x98], eax
mov dword [esi + 0x94], ecx
jmp 0x44e698
cmp ecx, edi
mov edi, dword [esp + 0xc]
jl 0x44e484
mov ecx, edx
mov dword [esi + 0x98], edx
mov eax, dword [esi + 0x94]
cmp dword [esi + 0xe30], edi
lea ebp, [esp + 0xe4]
jle 0x44e4cf
mov edx, dword [esp + 0x10]
cmp dword [edx], eax
jl 0x44e4b3
jne 0x44e698
cmp dword [esi + 0xe2c], ecx
jge 0x44e698
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esi + 0xe1c], ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
jmp 0x44e698
jne 0x44e698
mov edx, dword [esp + 0x20]
cmp dword [esi + 0xe34], edx
jg 0x44e499
jmp 0x44e698
test byte [esi], 1
jne 0x44e750
mov eax, dword [esp]
mov dword [eax], 0
jmp case.0x44e597.92
mov eax, dword [esp]
mov dword [eax], 8
jmp case.0x44e597.92
lea ecx, [edx + ecx - 0x30]
mov dword [esi + eax*4 + 0x180], ecx
jmp case.0x44e597.92
jmp dword [ecx*4 + 0x495df0]
test byte [esi], 2
je 0x44ec99
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x98]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xb0]
mov dword [esi + 0xb4], eax
mov cl, byte [esi + 0xd5]
mov byte [esi + 0xbc], cl
mov cl, byte [esi + 0xae]
mov byte [esi + 0xbd], cl
mov eax, dword [esi + eax*4 + 0x154]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd0], eax
jmp case.0x44e597.92
jmp dword [ecx*4 + 0x495e38]
test byte [esi], 2
je 0x44ec99
mov edi, dword [esi + 0x1054]
test edi, edi
je case.0x44e597.92
mov eax, dword [esp + 0x18]
cmp byte [eax], 0
je case.0x44e597.92
mov ebx, dword [esp + 0x18]
push ebx
call fcn.0047e5a0
add esp, 4
push 0
push eax
push ebx
push edi
call fcn.0040e67f
add esp, 0x10
jmp case.0x44e597.92
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x44e1c0
inc eax
mov dword [esi + 0x94], eax
jmp 0x44e1c0
add eax, ecx
mov dword [esi + 0x184], eax
jmp case.0x44e597.92
mov ecx, eax
shl ecx, 8
add ecx, edx
cmp ecx, 0x168
jg 0x44ea1b
lea edx, [ecx - 0x40]
cmp edx, 0x38
ja case.default.0x44e628
jmp dword [edx*4 + 0x495ae0]
test byte [esi + 1], 0x20
je 0x44ec99
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x184], eax
lea edx, [eax - 1]
test eax, eax
cmove edx, eax
mov ebx, dword [esi + 0x94]
xor eax, eax
mov edi, dword [esi + 0x128]
test edx, edx
cmovs edx, eax
cmp edx, ecx
lea ecx, [ecx - 1]
cmovl ecx, edx
test ebx, ebx
cmovs ebx, eax
mov dword [esi + 0x98], ecx
cmp ebx, edi
lea edi, [edi - 1]
cmovl edi, ebx
mov dword [esi + 0x94], edi
jmp 0x44f910
dec eax
mov dword [esi + 0x98], eax
mov byte [esi + 0x141], 1
jmp 0x44e8d8
cmp eax, 0x2547
je 0x44e769
cmp eax, 0x2830
je 0x44ebd7
cmp eax, 0x2841
jne case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x154], 0xdb00
jmp case.0x44e597.92
cmp eax, 0x2941
je 0x44ebfc
cmp eax, 0x2942
je 0x44ec21
cmp eax, 0x2955
jne case.0x44e597.92
test byte [esi + 1], 0x40
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x158], 0xda00
jmp case.0x44e597.92
cmp edx, 0x57
jne case.0x44db7b.58
mov dword [esi + 0xe18], 4
mov byte [esi + 0xa11], 1
jmp case.0x44e597.92
mov dword [esi + 0xe18], 1
mov dword [esi + 0x208], 0
jmp case.0x44e597.92
test byte [esi + 1], 0x40
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov byte [esi + 0xd5], 1
jmp case.0x44e597.92
mov ecx, edi
mov dword [ecx], eax
mov dword [esi + 0x2c], eax
inc dword [esi + 0x30]
mov eax, dword [edi]
test eax, eax
jne 0x44e7a1
jmp 0x44e7cb
dec dword [esi + 0x30]
mov ecx, ebp
sub ecx, dword [esi + 0x10c0]
cmp dword [eax + 4], ecx
jae 0x44e7cb
mov ecx, dword [eax]
mov dword [edi], ecx
push eax
call fcn.00410de6
add esp, 4
mov eax, dword [edi]
test eax, eax
jne 0x44e79e
mov dword [esi + 0x2c], 0
dec dword [esi + 0x30]
cmp byte [esi + 0x10b4], 0
je 0x44e800
cmp byte [esi + 0x34], 0
je 0x44e7f1
mov eax, ebp
sub eax, dword [esi + 0x38]
cmp eax, dword [esi + 0x10bc]
jb 0x44e8c7
mov byte [esi + 0x34], 0
jmp 0x44e800
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x10b8]
jge 0x44e8c3
mov dword [esi + 0x38], ebp
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push dword [esi + 0x10b0]
push eax
call dword [ecx + 0x24]
add esp, 8
cmp dword [esi + 0x10b0], 2
jne 0x44e8ca
mov byte [esi + 0x135], 1
push esi
push 0x451b30
push 0x64
call fcn.00453f00
add esp, 0xc
mov dword [esi + 0x138], eax
jmp 0x44e8ca
cmp dword [esi + 0x204], 1
jne case.0x44db7b.58
cmp dword [esi + 0x184], 4
jne case.0x44db7b.58
mov dword [esi + 0x204], 2
mov dword [esi + 0x188], 0
jmp case.0x44e597.92
cmp dword [esi + 0x184], 2
jne case.0x44db7b.58
mov dword [esi + 0x184], 1
jmp case.0x44e597.92
mov dword [esi + 0xe18], 7
mov dword [esi + 0x20c], 0
jmp case.0x44e597.92
mov dword [esi + 0xe18], 6
jmp 0x44e894
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
add esp, 4
jmp 0x44e32a
mov byte [esi + 0x34], 1
mov dword [esi + 0x38], ebp
mov byte [esi + 0x141], 1
lea ebp, [esp + 0xe4]
cmp byte [esi + 0x106d], 0
jne case.0x44e597.92
mov byte [esi + 0x106d], 1
push esi
push 0x451b30
push 0x14
call fcn.00453f00
add esp, 0xc
mov dword [esi + 0x1070], eax
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
xor edx, edx
mov ecx, esi
call fcn.004534d9
jmp 0x44ea02
test byte [esi], 2
je 0x44ec99
mov byte [esi + 0x13d], 1
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
mov byte [esi + 0x13d], 0
jmp case.0x44e597.92
xor eax, eax
mov dword [esi + 0xe18], 2
mov dword [esi + 0x204], 1
mov dword [esi + 0x184], eax
mov dword [esi + 0x208], eax
jmp case.0x44e597.92
test byte [esi + 1], 0x40
je 0x44ec99
mov dword [esi + 0xe18], 3
mov dword [esi + 0x184], 0
mov dword [esi + 0x204], 1
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
xor edx, edx
mov ecx, esi
inc edx
call fcn.00449a73
mov eax, dword [esi + 0x1054]
test eax, eax
je 0x44e9c2
push eax
call fcn.0040e5f0
add esp, 4
cmp byte [esi + 0xc5], 0
je 0x44e9f2
cmp byte [esi + 0x10ec], 0
jne 0x44e9eb
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push dword [esi + 0x128]
push 0x50
push eax
call dword [ecx + 0x34]
add esp, 0xc
mov byte [esi + 0xc5], 0
cmp byte [esi + 0x10f9], 0
je 0x44ea02
mov dword [esi + 0x10], 0
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], 0
jne case.0x44e597.92
jmp 0x44f064
cmp ecx, 0x3d42
jle 0x44f086
lea eax, [ecx - 0x3d43]
cmp eax, 9
ja case.default.0x44ea36
jmp dword [eax*4 + 0x495bc4]
test byte [esi + 1], 0x10
je 0x44e4ef
cmp dword [esi + 0x204], 2
jl case.0x44e597.92
mov eax, dword [esi + 0x184]
cmp eax, dword [esi + 0x188]
ja case.0x44dcbd.102
jmp case.0x44dcbd.101
test byte [esi], 2
je 0x44ec99
mov eax, dword [esi + 0x128]
test eax, eax
jle 0x44eb17
xor edx, edx
mov ecx, esi
mov dword [esp + 0x20], edx
push 1
push 0xdb5
call fcn.0044aa06
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x12c]
mov dword [esp + 0xc], ecx
cmp eax, dword [ecx + 4]
je 0x44eac3
mov edx, dword [esp + 0xc]
mov ecx, esi
push eax
call fcn.00451894
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [esi + 0x12c]
mov edx, esi
mov edi, dword [esp + 0x1c]
test eax, eax
mov esi, edx
jle 0x44eaf8
xor ebx, ebx
xor ebp, ebp
mov edx, ebp
push edi
call fcn.00451781
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [ecx + 0x14]
inc ebp
mov dword [eax + ebx], 0x45
add ebx, 0x14
cmp ebp, dword [esi + 0x12c]
jl 0x44ead3
mov edx, dword [esp + 0x20]
mov word [ecx], 0
lea ebp, [esp + 0xe4]
mov eax, dword [esi + 0x128]
inc edx
cmp edx, eax
jl 0x44ea84
cmp byte [esi + 0x10f9], 0
je 0x44eb27
mov dword [esi + 0x10], 0
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], 0
jne 0x44eb5a
mov byte [esi + 0x106d], 1
push esi
push 0x451b30
push 0x14
call fcn.00453f00
add esp, 0xc
mov dword [esi + 0x1070], eax
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0xe30]
test ecx, ecx
jle 0x44f132
mov ecx, dword [esp + 0x10]
cmp dword [ecx], eax
jl 0x44efad
jne case.0x44e597.92
cmp dword [esi + 0xe2c], 0
jns case.0x44e597.92
jmp 0x44efad
test byte [esi], 2
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x154], 0xd800
jmp case.0x44e597.92
test byte [esi + 1], 0x40
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x154], 0xda00
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x154], 0xd900
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x158], 0xdb00
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp byte [esi + 0x10eb], 0
jne case.0x44e597.92
mov dword [esi + 0x158], 0xd800
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
mov dword [esi + 0x98], 0
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x44f00f
mov edx, dword [esi + 0xa4]
xor edi, edi
mov ecx, esi
inc edi
push edi
push edi
push eax
jmp 0x44f041
test byte [esi], 2
je 0x44ec99
mov eax, dword [esi + 0xe14]
mov ecx, dword [esi + 0x98]
mov byte [eax + ecx], 1
jmp case.0x44e597.92
test byte [esi], 2
jne 0x44f023
mov eax, dword [esp]
mov dword [eax], 0
jmp case.0x44e597.92
mov byte [esi + 0x13d], 1
jmp case.0x44e597.92
mov byte [esi + 0x13d], 0
jmp case.0x44e597.92
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
mov ecx, esi
dec eax
push 1
jmp 0x44ece5
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
mov ecx, esi
inc eax
xor edi, edi
inc edi
push edi
push eax
jmp 0x44ed08
mov edx, dword [esi + 0x98]
mov ecx, esi
inc edx
xor eax, eax
inc eax
push eax
jmp 0x44ed02
mov edx, dword [esi + 0x98]
mov ecx, esi
dec edx
push 1
push dword [esi + 0x94]
call fcn.00452dc3
jmp 0x44ef4e
mov ecx, dword [esi + 0x12c]
mov eax, dword [esi + 0x128]
xor ebx, ebx
test ecx, ecx
lea ecx, [ecx - 1]
cmovg ecx, ebx
test eax, eax
lea eax, [eax - 1]
cmovg eax, ebx
mov dword [esi + 0x98], ecx
xor edx, edx
mov ecx, esi
mov dword [esi + 0x94], eax
mov byte [esi + 0xae], bl
push 1
push ebx
call fcn.00451166
add esp, 8
cmp byte [esi + 0x10f9], bl
jne 0x44ef19
jmp case.0x44e597.92
mov dword [esi + 0xb0], 0
mov dword [esi + 0x154], 0xd900
jmp case.0x44e597.92
mov dword [esi + 0xb0], 0
mov dword [esi + 0x154], 0xd800
jmp case.0x44e597.92
mov ecx, dword [esi + 0x12c]
mov eax, dword [esi + 0x128]
xor edx, edx
test ecx, ecx
lea ecx, [ecx - 1]
cmovg ecx, edx
test eax, eax
lea eax, [eax - 1]
cmovg eax, edx
mov dword [esi + 0x98], ecx
jmp 0x44dd27
mov eax, dword [esi + 0x94]
test eax, eax
je 0x44f0ff
jle 0x44dd70
dec eax
jmp 0x44dd27
xor edx, edx
mov ecx, esi
push 1
push 0
jmp 0x44ef08
xor edx, edx
mov ecx, esi
inc edx
push 1
push 0
jmp 0x44ef49
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0xa8]
cmp edx, eax
jg case.0x44e597.92
mov ecx, esi
push 0
push 0xffffffffffffffff
jmp 0x44ee29
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0xa8]
cmp edx, eax
jg case.0x44e597.92
xor edi, edi
mov ecx, esi
inc edi
push edi
push edi
push eax
call fcn.004513df
jmp 0x44e1dc
xor eax, eax
mov edx, dword [esp + 4]
mov byte [esi + 0xd4], al
mov dword [esi + 0x40], 0x20500
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
mov ecx, dword [ebx + 0x10]
mov dword [edx + 0x10], ecx
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
cmp byte [esi + 0xc6], al
je case.0x44e597.92
mov dword [esi + 0x70], 0x20500
mov dword [esi + 0x78], 0
jmp case.0x44e597.92
mov eax, dword [esp + 8]
or byte [eax + 2], 8
jmp case.0x44e597.92
mov byte [esi + 0xd4], 0
and byte [esi + 0x42], 0xfb
jmp case.0x44e597.92
mov byte [esi + 0xd4], 1
or byte [esi + 0x42], 4
jmp case.0x44e597.92
mov eax, dword [esp + 8]
and byte [eax + 2], 0xf7
jmp case.0x44e597.92
mov eax, dword [esp]
mov dword [eax], 0xa
jmp case.0x44e597.92
mov eax, dword [esi + 0x1054]
test eax, eax
je case.0x44e597.92
push 0
push 3
push 0x4a61fc
push eax
call fcn.0040e67f
add esp, 0x10
jmp case.0x44e597.92
mov eax, dword [esp]
mov dword [eax], 0xc
jmp case.0x44e597.92
mov eax, dword [esp]
mov dword [eax], 0xd
jmp case.0x44e597.92
xor edx, edx
mov ecx, esi
push 0
push 1
call fcn.00451166
add esp, 8
cmp byte [esi + 0x10f9], 0
je case.0x44e597.92
mov dword [esi + 0x10], 0
jmp case.0x44e597.92
xor edx, edx
mov ecx, esi
inc edx
push edx
push edx
call fcn.00451166
add esp, 8
mov dword [esi + 0x98], 0
jmp 0x44dd70
xor edx, edx
mov ecx, esi
inc edx
push 0
push 1
call fcn.00451166
add esp, 8
cmp dword [esi + 0xe1c], 0
je 0x44d79d
mov edi, dword [esi + 0x98]
xor edx, edx
mov ecx, dword [esi + 0x94]
mov ebp, 0
cmp edi, dword [esi + 0x12c]
lea eax, [edi + 1]
cmove eax, ebp
sete bl
cmp dword [esi + 0xe30], ecx
lea ebp, [esp + 0xe4]
jle 0x44efc9
mov edi, dword [esp + 0x10]
mov dl, bl
add ecx, edx
cmp dword [edi], ecx
jl 0x44efad
jne 0x44d79d
cmp dword [esi + 0xe2c], eax
jge 0x44d79d
xor ecx, ecx
mov dword [esi + 0xe1c], ecx
mov eax, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
jmp 0x44d79d
jne 0x44d79d
cmp dword [esi + 0xe34], edi
jle 0x44d79d
jmp 0x44ef8f
mov eax, dword [esp + 8]
or byte [eax + 2], 0x10
jmp case.0x44e597.92
mov eax, dword [esp + 8]
and byte [eax + 2], 0xef
jmp case.0x44e597.92
mov byte [esi + 0xad], 1
jmp case.0x44e597.92
mov byte [esi + 0xad], 0
jmp case.0x44e597.92
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x44f049
inc eax
mov dword [esi + 0x94], eax
jmp 0x44f049
mov edx, dword [esi + 0x94]
cmp edx, dword [esi + 0xa4]
jne 0x44f11e
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [esi + 0xa8]
call fcn.004513df
add esp, 0xc
xor eax, eax
mov byte [esi + 0xae], al
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], al
jne case.0x44e597.92
mov byte [esi + 0x106d], 1
push esi
push 0x451b30
push 0x14
call fcn.00453f00
add esp, 0xc
mov dword [esi + 0x1070], eax
jmp case.0x44e597.92
cmp ecx, 0x226f
jle 0x44f188
cmp ecx, 0x2270
je 0x44f4ec
cmp ecx, 0x247c
je 0x44f51b
cmp ecx, 0x2a7c
jne case.0x44e597.92
test byte [esi], 0x40
je 0x44e4ef
cmp dword [esi + 0x204], 1
jne case.0x44e597.92
mov eax, dword [esi + 0x184]
test eax, eax
je case.0x44e597.92
cmp byte [esi + 0x10ec], 0
jne 0x44efad
mov ecx, dword [esi + 0x1058]
mov edx, dword [ecx]
push eax
push dword [esi + 0x12c]
push ecx
call dword [edx + 0x34]
jmp 0x44f563
mov eax, dword [esi + 0x128]
mov ecx, esi
dec eax
xor edi, edi
xor edx, edx
dec edi
push 1
push edi
push eax
call fcn.004513df
add esp, 0xc
jmp 0x44dd70
test edx, edx
jle 0x44f049
dec edx
mov dword [esi + 0x94], edx
jmp 0x44f049
jne case.0x44e597.92
cmp dword [esi + 0xe34], 0
jg 0x44eb68
jmp case.0x44e597.92
cmp ecx, 0x3d63
je 0x44f56b
cmp ecx, 0x3e63
jne case.0x44e597.92
test byte [esi + 1], 0x40
je 0x44ec99
mov eax, dword [esi + 0x1054]
test eax, eax
je case.0x44e597.92
push 0
push 0xb
push str.e__0_136_0c
jmp 0x4503c8
cmp ecx, 0x169
je case.0x44e628.105
cmp ecx, 0x16c
jne case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp dword [esi + 0x204], 0
jle case.0x44e597.92
mov edx, dword [esi + 0x184]
mov ecx, esi
push 0
push eax
call fcn.004539c6
add esp, 8
cmp dword [esi + 0x204], 2
jl case.0x44e597.92
mov edi, 0x62
mov edx, dword [esi + edi*4]
mov ecx, esi
push 0
push dword [esi + 0x208]
call fcn.004539c6
add esp, 8
lea eax, [edi + 1]
add edi, 0xffffffa0
cmp edi, dword [esi + 0x204]
mov edi, eax
jl 0x44f1d7
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp dword [esi + 0x204], 1
jne case.0x44e597.92
mov eax, dword [esi + 0x184]
cmp eax, 5
jne 0x450491
push 0x84
push dword [esi + 0x1068]
call fcn.004031c8
add esp, 8
cmp byte [eax], 0
je 0x45048b
mov edi, eax
mov byte [esi + 0xe4], 1
xor eax, eax
cmp dword [esi + 0x208], eax
sete byte [esi + 0xe5]
mov dword [esi + 0xe8], eax
push dword [esp + 0x24]
call fcn.00455c9c
add esp, 4
push edi
call fcn.00469fbd
add esp, 4
mov dword [esi + 0x100], eax
jmp case.0x44e597.92
cmp dword [esi + 0x204], 1
jg 0x44f293
mov dword [esi + 0x188], 0
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x128]
mov edx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x184], eax
mov ecx, dword [esi + 0x188]
cmp ecx, edx
cmova ecx, edx
mov dword [esi + 0x188], ecx
movzx edx, byte [esi + 0xac]
test edx, edx
lea edi, [edx + edx]
je 0x44feb1
mov edx, dword [esi + 0xa4]
jmp 0x44feb3
cmp ecx, 0x168
jne case.0x44e597.92
test byte [esi], 2
je 0x44ec99
cmp dword [esi + 0x204], 0
jle case.0x44e597.92
mov edx, dword [esi + 0x184]
mov ecx, esi
push 1
push eax
call fcn.004539c6
add esp, 8
cmp dword [esi + 0x204], 2
jl case.0x44e597.92
mov edi, 0x62
mov edx, dword [esi + edi*4]
xor eax, eax
mov ecx, esi
inc eax
push eax
push dword [esi + 0x208]
call fcn.004539c6
add esp, 8
lea eax, [edi + 1]
add edi, 0xffffffa0
cmp edi, dword [esi + 0x204]
mov edi, eax
jl 0x44f325
jmp case.0x44e597.92
test byte [esi + 1], 0x10
je 0x44e4ef
mov ecx, esi
mov byte [esi + 0xc9], 0
call fcn.0044a8d0
cmp dword [esi + 0x184], 0
mov eax, dword [esi + 0x40]
je 0x4503af
or eax, 0x200000
jmp 0x4503b4
test byte [esi + 1], 0x10
je 0x44e4ef
cmp dword [esi + 0x184], 0
setne byte [esi + 0xc9]
jmp 0x44dcd7
test byte [esi + 1], 0x10
je 0x44e4ef
mov ecx, dword [esi + 0x184]
cmp ecx, 0xf
ja case.0x44e597.92
mov eax, ecx
and ecx, 8
mov edi, 0xfffffe00
and eax, 7
movsx eax, byte [eax + 0x495630]
or ecx, eax
mov eax, dword [esi + 0x40]
and eax, edi
or eax, ecx
mov dword [esi + 0x40], eax
mov dword [esi + 0x48], 0
mov edx, dword [esi + 0x3c]
and edx, edi
or edx, ecx
mov dword [esi + 0x3c], edx
mov edx, dword [esp + 4]
mov ecx, dword [ebx + 0x10]
mov dword [edx + 0x10], ecx
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x44e597.92
and eax, 0x3ffff
jmp 0x44f4e4
test byte [esi + 1], 0x10
je 0x44e4ef
mov ecx, dword [esi + 0x184]
cmp ecx, 0xf
ja case.0x44e597.92
mov eax, ecx
and ecx, 8
mov edi, 0xfffc01ff
and eax, 7
movsx eax, byte [eax + 0x495630]
or ecx, eax
mov eax, dword [esi + 0x40]
shl ecx, 9
and eax, edi
or eax, ecx
mov dword [esi + 0x40], eax
mov dword [esi + 0x4c], 0
mov edx, dword [esi + 0x3c]
and edx, edi
or edx, ecx
mov dword [esi + 0x3c], edx
mov edx, dword [esp + 4]
mov ecx, dword [ebx + 0x10]
mov dword [edx + 0x10], ecx
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x44e597.92
and eax, 0x3ffff
mov dword [esi + 0x70], eax
jmp 0x44ee78
test byte [esi + 1], 0x10
je 0x44e4ef
cmp dword [esi + 0x184], 0
mov ecx, dword [esp + 4]
sete byte [esi + 0xc6]
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
jne case.0x44e597.92
mov eax, dword [esi + 0x40]
mov ecx, 0x3ffff
and eax, ecx
mov dword [esi + 0x70], eax
jmp 0x44de1a
mov eax, dword [esi + 0x184]
cmp eax, 0x29
jle 0x44ff10
cmp eax, 0x3c
jg 0x450317
cmp eax, 0x2a
je 0x450429
cmp eax, 0x32
je 0x4504d1
jmp 0x450452
test byte [esi + 1], 1
je 0x44e4ef
cmp dword [esi + 0x204], 1
jg case.0x44e597.92
cmp byte [esi + 0x10ec], 0
jne 0x44efad
mov ecx, dword [esi + 0x184]
mov eax, dword [esi + 0x128]
test ecx, ecx
jne 0x44f555
mov ecx, dword [esi + 0x10d0]
mov edx, dword [esi + 0x1058]
mov edi, dword [edx]
push eax
push ecx
push edx
call dword [edi + 0x34]
add esp, 0xc
jmp 0x44efad
test byte [esi + 1], 0x10
je 0x44e4ef
mov eax, dword [esi + 0x184]
cmp eax, 2
je 0x450465
cmp eax, 1
je 0x450478
test eax, eax
jne case.0x44e597.92
mov byte [esi + 0xc4], 0
jmp case.0x44e597.92
test byte [esi], 8
je 0x44ec99
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x184]
cmp ecx, eax
cmova ecx, eax
xor edx, edx
inc edx
test ecx, ecx
mov dword [esi + 0x184], ecx
cmovne edx, ecx
mov ecx, esi
jmp 0x44f888
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x128]
cmp eax, ecx
cmova eax, ecx
xor ecx, ecx
mov dword [esi + 0x184], eax
inc ecx
test eax, eax
cmovne ecx, eax
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
sub eax, ecx
mov ecx, esi
push 1
push eax
jmp 0x44fec9
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
xor ecx, ecx
mov dword [esi + 0x184], eax
inc ecx
test eax, eax
mov edx, dword [esi + 0x98]
cmovne ecx, eax
sub edx, ecx
mov ecx, esi
push 1
push dword [esi + 0x94]
jmp 0x44fec9
test byte [esi + 1], 0x20
je 0x44ec99
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x184]
cmp ecx, eax
mov dword [esp + 0xc], eax
cmova ecx, eax
xor eax, eax
mov dword [esi + 0x184], ecx
inc eax
test ecx, ecx
mov edi, dword [esi + 0x94]
mov ebp, dword [esi + 0x12c]
mov ebx, dword [esi + 0xa4]
cmovne eax, ecx
xor ecx, ecx
add eax, edi
test ebp, ebp
lea ebp, [ebp - 1]
cmovg ebp, ecx
cmp ebx, eax
mov edx, eax
cmovge edx, ebx
cmp edi, ebx
cmovl edx, eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x98], ebp
lea ebp, [esp + 0xe4]
mov ebx, edx
cmp edx, eax
cmovg ebx, eax
cmp edi, eax
mov eax, dword [esp + 0xc]
cmovg ebx, edx
jmp 0x44f735
test byte [esi + 1], 0x20
je 0x44ec99
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x184]
cmp ecx, eax
mov dword [esp + 0xc], eax
cmova ecx, eax
xor edx, edx
mov dword [esi + 0x184], ecx
inc edx
test ecx, ecx
mov eax, dword [esi + 0x94]
cmovne edx, ecx
mov ebx, dword [esi + 0xa4]
xor ecx, ecx
mov edi, eax
sub edi, edx
mov edx, dword [esi + 0x12c]
mov ebp, edi
test edx, edx
lea edx, [edx - 1]
cmovg edx, ecx
cmp ebx, edi
cmovge ebp, ebx
cmp eax, ebx
cmovl ebp, edi
mov edi, dword [esi + 0xa8]
mov dword [esi + 0x98], edx
mov ebx, ebp
cmp ebp, edi
cmovg ebx, edi
cmp eax, edi
mov eax, dword [esp + 0xc]
cmovg ebx, ebp
lea ebp, [esp + 0xe4]
test ebx, ebx
cmovs ebx, ecx
cmp ebx, eax
lea eax, [eax - 1]
cmovl eax, ebx
mov dword [esi + 0x94], eax
mov byte [esi + 0xae], cl
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], cl
jne case.0x44e597.92
jmp 0x44e8e5
mov eax, dword [esi + 0x184]
cmp eax, 3
jne 0x44fed6
cmp byte [esi + 0x10ee], 0
jne 0x44fef7
push esi
call fcn.0044a969
add esp, 4
jmp 0x44fef7
mov eax, dword [esi + 0x184]
xor edi, edi
mov ecx, esi
inc eax
cmp eax, 3
cmovbe edi, eax
mov eax, edi
and edi, 2
and eax, 1
shr edi, 1
xor edx, edx
inc edx
push eax
push edi
call fcn.00451166
add esp, 8
mov al, 1
mov byte [esi + 0x141], al
jmp 0x44e8d8
test byte [esi], 8
je 0x44ec99
mov ecx, dword [esi + 0x184]
mov eax, dword [esi + 0x128]
cmp ecx, eax
cmova ecx, eax
mov dword [esi + 0x184], ecx
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0xa8]
cmp edx, eax
jg 0x44e698
mov edi, ecx
neg edi
cmp ecx, 1
mov ecx, esi
sbb ebx, ebx
or ebx, edi
xor edi, edi
push edi
push ebx
jmp 0x44f84d
test byte [esi], 8
je 0x44ec99
mov ecx, dword [esi + 0x184]
mov eax, dword [esi + 0x128]
cmp ecx, eax
cmova ecx, eax
mov dword [esi + 0x184], ecx
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0xa8]
cmp edx, eax
jg 0x44e698
xor edi, edi
inc edi
test ecx, ecx
cmovne edi, ecx
mov ecx, esi
push 1
push edi
push eax
call fcn.004513df
add esp, 0xc
jmp 0x44e698
test byte [esi], 8
je 0x44ec99
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x184]
cmp ecx, eax
cmova ecx, eax
mov eax, ecx
mov dword [esi + 0x184], ecx
neg eax
cmp ecx, 1
mov ecx, esi
sbb edx, edx
or edx, eax
call fcn.0045361e
jmp 0x44e698
mov ecx, dword [esi + 0x128]
mov eax, dword [esi + 0x184]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x184], eax
test byte [esi + 1], 0x10
je 0x44ec99
mov edx, dword [esi + 0xa4]
xor edi, edi
mov ecx, esi
inc edi
test eax, eax
cmovne edi, eax
push 1
push edi
jmp 0x44f900
mov ecx, dword [esi + 0x128]
mov eax, dword [esi + 0x184]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x184], eax
test byte [esi + 1], 0x10
je 0x44ec99
mov ecx, eax
mov edx, dword [esi + 0xa4]
neg ecx
xor edi, edi
inc edi
cmp eax, edi
sbb eax, eax
or eax, ecx
mov ecx, esi
push edi
push eax
push dword [esi + 0xa8]
call fcn.004513df
add esp, 0xc
xor eax, eax
mov byte [esi + 0xae], al
mov byte [esi + 0x141], 1
cmp byte [esi + 0x106d], al
jne case.0x44e597.92
jmp 0x44e8e5
test byte [esi], 1
je 0x44e4ef
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
xor edi, edi
mov ecx, esi
mov dword [esi + 0x184], eax
inc edi
test eax, eax
mov ebp, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
cmovne edi, eax
push 1
push 0x10ef
call fcn.0044aa06
add esp, 8
mov ebx, eax
mov al, byte [eax + 0x18]
cmp al, byte [esi + 0x10a0]
je 0x44f992
mov ecx, esi
mov edx, ebx
call fcn.00451850
mov al, byte [esi + 0x10a0]
mov byte [ebx + 0x18], al
mov dword [esp + 0x20], ebx
mov ebx, dword [esi + 0x12c]
mov edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x38], ebx
sub ebx, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x3c], edx
mov ecx, esi
cmp edi, ebx
cmovle ebx, edi
push dword [esp + 0xc]
call fcn.004516b2
add esp, 4
mov edx, dword [esi + 0x98]
mov ecx, esi
add edx, ebx
push dword [esi + 0x94]
call fcn.004516b2
mov edx, dword [esp + 0x40]
add esp, 4
mov eax, dword [esi + 0x94]
cmp dword [esi + 0xe30], eax
jle 0x45033a
lea eax, [ebx + edx]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
cmp dword [ecx], eax
jge 0x4503e5
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esi + 0xe1c], eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], eax
jmp 0x4503f7
test byte [esi + 1], 0x40
je 0x44e4ef
mov edx, dword [esi + 0x184]
mov eax, dword [esi + 0x12c]
cmp edx, eax
cmova edx, eax
xor edi, edi
mov dword [esi + 0x184], edx
inc edi
test edx, edx
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x94]
cmovne edi, edx
test edi, edi
mov edx, ecx
jle 0x44faa6
mov edx, ecx
test edx, edx
jle 0x44faa6
lea ebx, [edx - 1]
cmp edx, 1
mov edx, 0
mov dword [esi + 0x98], ebx
je 0x44fa9e
mov edx, dword [esi + 0xe14]
cmp byte [edx + ebx], 0
jne 0x44fa9c
lea edx, [ebx - 1]
cmp ebx, 2
mov ebx, edx
mov dword [esi + 0x98], edx
jge 0x44fa7e
jmp 0x44fa9e
mov edx, ebx
cmp edi, 1
lea edi, [edi - 1]
jg 0x44fa67
cmp dword [esi + 0xe30], eax
jle 0x450357
mov ecx, dword [esp + 0x10]
cmp dword [ecx], eax
jl 0x44fe38
jne case.0x44e597.92
cmp dword [esi + 0xe2c], edx
jl 0x44fe38
jmp case.0x44e597.92
test byte [esi + 1], 0x20
je 0x44ec99
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x12c]
mov edi, dword [esi + 0x94]
cmp eax, ecx
cmova eax, ecx
xor edx, edx
mov ecx, esi
inc edx
test eax, eax
mov dword [esi + 0x184], eax
cmovne edx, eax
add edx, dword [esi + 0x98]
jmp 0x44fc15
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x184]
imul eax, dword [esi + 0x128]
cmp ecx, eax
cmovbe eax, ecx
mov dword [esi + 0x184], eax
mov edx, dword [esi + 0x1064]
test edx, edx
je case.0x44e597.92
test eax, eax
je case.0x44e597.92
mov ecx, esi
call fcn.00452e4e
cmp dword [esi + 0x184], 2
jb case.0x44e597.92
xor edi, edi
inc edi
mov edx, dword [esi + 0x1064]
mov ecx, esi
call fcn.00452e4e
inc edi
cmp edi, dword [esi + 0x184]
jb 0x44fb5c
jmp case.0x44e597.92
test byte [esi], 2
je 0x44ec99
mov edi, dword [esi + 0x1054]
test edi, edi
je case.0x44e597.92
mov eax, dword [esp + 0x18]
cmp byte [eax], 0
jne 0x44e5c2
jmp case.0x44e597.92
test byte [esi + 1], 0x20
je 0x44ec99
mov ecx, dword [esi + 0x128]
mov eax, dword [esi + 0x184]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x184], eax
movzx ecx, byte [esi + 0xac]
test ecx, ecx
lea edi, [ecx + ecx]
je 0x4503ce
mov ecx, dword [esi + 0xa4]
jmp 0x4503d0
test byte [esi + 1], 0x20
je 0x44ec99
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x128]
mov edx, dword [esi + 0x98]
cmp eax, ecx
cmova eax, ecx
xor edi, edi
mov ecx, esi
inc edi
test eax, eax
mov dword [esi + 0x184], eax
cmovne edi, eax
add edi, dword [esi + 0x94]
push 1
push edi
jmp 0x44fec9
test byte [esi], 2
je 0x44ec99
cmp dword [esi + 0x204], 1
jne case.0x44e597.92
mov eax, dword [esi + 0x184]
test eax, eax
je 0x4504b3
cmp eax, 3
jne case.0x44e597.92
cmp dword [esi + 0x12c], 0
jle case.0x44e597.92
xor eax, eax
mov ecx, dword [esi + 0xe14]
mov byte [ecx + eax], 0
inc eax
cmp eax, dword [esi + 0x12c]
jl 0x44fc59
jmp case.0x44e597.92
mov eax, dword [esi + 0x204]
mov edx, dword [esp + 4]
test eax, eax
jle 0x4502dc
xor edi, edi
jmp 0x45023d
mov eax, dword [esi + 0x1054]
test eax, eax
je case.0x44e597.92
mov ecx, dword [esi + 0x184]
cmp ecx, 5
je 0x4503bf
cmp ecx, 6
jne case.0x44e597.92
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x98]
inc ecx
inc eax
push ecx
push eax
push str.e__d__dR
lea eax, [esp + 0x60]
mov edi, eax
push eax
call fcn.00403c98
add esp, 0x10
push edi
call fcn.0047e5a0
add esp, 4
push 0
push eax
push edi
push dword [esi + 0x1054]
jmp 0x44e5d4
test byte [esi], 2
je 0x44ec99
mov ecx, dword [esi + 0x204]
cmp ecx, 2
jg case.0x44e597.92
mov edx, dword [esi + 0x128]
mov edi, dword [esi + 0x184]
cmp edi, edx
cmova edi, edx
mov dword [esi + 0x184], edi
lea eax, [edi - 1]
mov ebx, dword [esi + 0x188]
cmp ebx, edx
cmova ebx, edx
test edi, edi
cmove eax, edi
test ebx, ebx
mov dword [esi + 0x188], ebx
cmove ebx, edx
cmp ecx, 2
lea ecx, [edx - 1]
cmovne ebx, edx
dec ebx
cmp ebx, edx
cmovl ecx, ebx
cmp ecx, eax
jle case.0x44e597.92
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa8], ecx
xor ecx, ecx
mov dword [esi + 0x98], ecx
cmp byte [esi + 0xac], cl
cmove eax, ecx
mov dword [esi + 0x94], eax
jmp 0x44f74e
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x98]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xb0]
mov dword [esi + 0xb4], eax
mov cl, byte [esi + 0xd5]
mov byte [esi + 0xbc], cl
mov cl, byte [esi + 0xae]
mov byte [esi + 0xbd], cl
mov eax, dword [esi + eax*4 + 0x154]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd0], eax
jmp case.0x44e597.92
mov eax, dword [esi + 0x204]
cmp eax, 1
jg 0x450376
mov ecx, dword [esi + 0x184]
lea edx, [ecx - 1]
cmp edx, 0x17
jb 0x45036e
test byte [esi + 1], 1
je 0x44ec99
cmp byte [esi + 0x10ec], 0
jne 0x44fe38
test ecx, ecx
mov eax, 0x18
cmovne eax, ecx
mov ecx, dword [esi + 0x1058]
mov edx, dword [ecx]
push eax
push dword [esi + 0x12c]
push ecx
call dword [edx + 0x34]
add esp, 0xc
xor eax, eax
mov dword [esi + 0xe1c], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], eax
jmp 0x44d79d
xor edx, edx
mov ecx, esi
call fcn.004534d9
jmp 0x44e698
test byte [esi], 2
je 0x44e4ef
mov edi, dword [esi + 0x1054]
test edi, edi
je case.0x44e597.92
mov ebx, dword [esi + 0x184]
cmp ebx, 1
ja case.0x44e597.92
push 0x15
push str.e_2_1_1_112_112_1_0x
lea eax, [esp + 0x5c]
push eax
call fcn.00471560
add esp, 0xc
add bl, 0x32
mov byte [esp + 0x56], bl
push 0
push 0x14
lea eax, [esp + 0x5c]
push eax
jmp 0x44e5d3
xor edx, edx
lea ebx, [eax - 1]
test eax, eax
cmove ebx, eax
add ebx, edx
lea edx, [ecx - 1]
test ecx, ecx
cmove edx, ecx
mov ecx, esi
push edi
push ebx
call fcn.00452dc3
add esp, 8
jmp 0x44e698
inc eax
xor ecx, ecx
cmp eax, 3
cmova eax, ecx
xor edx, edx
mov ecx, esi
mov edi, eax
and eax, 2
and edi, 1
shr eax, 1
push edi
push eax
call fcn.00451166
add esp, 8
cmp byte [esi + 0x10f9], 0
je 0x44e698
mov dword [esi + 0x10], 0
jmp 0x44e698
test eax, eax
je 0x44ff26
cmp eax, 0x28
je 0x450434
cmp eax, 0x29
jne 0x450452
mov dword [esi], 0xffff
jmp case.0x44e597.92
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x60]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x48], edx
mov dword [esi + 0x4c], ecx
jmp 0x4502cf
test byte [esi], 4
je 0x4500af
mov ecx, dword [esp + 8]
or byte [ecx + 2], 4
jmp case.0x45024d.3
test byte [esi + 1], 0x40
je 0x4500af
mov ecx, dword [esp + 8]
or byte [ecx + 3], 1
jmp case.0x45024d.3
test byte [esi], 4
je 0x4500af
mov ecx, dword [esp + 8]
or byte [ecx + 2], 0x20
jmp case.0x45024d.3
test byte [esi + 1], 0x10
je 0x4500af
mov byte [esi + 0xc9], 0
or byte [esi + 0x42], 0x20
mov ecx, esi
call fcn.0044a8d0
mov edx, dword [esp + 4]
mov eax, dword [esi + 0x204]
jmp case.0x45024d.3
mov ecx, dword [esp + 8]
or byte [ecx + 2], 0x10
jmp case.0x45024d.3
test byte [esi + 1], 0x10
je 0x4500af
cmp byte [esi + 0x10eb], 0
jne case.0x45024d.3
mov dword [esi + 0xcc], 0
jmp case.0x45024d.3
test byte [esi + 1], 0x10
je 0x4500af
cmp byte [esi + 0x10eb], 0
jne case.0x45024d.3
mov dword [esi + 0xcc], 1
jmp case.0x45024d.3
test byte [esi + 1], 0x10
je 0x4500af
cmp byte [esi + 0x10eb], 0
jne case.0x45024d.3
mov dword [esi + 0xcc], 2
jmp case.0x45024d.3
test byte [esi + 1], 0x40
je 0x4500af
test byte [esi], 4
je 0x4500af
mov ecx, dword [esp + 8]
or byte [ecx + 2], 8
jmp case.0x45024d.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4500af
mov ecx, dword [esp + 8]
and dword [ecx], 0xfefbffff
jmp case.0x45024d.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4500af
mov ecx, dword [esp + 8]
and byte [ecx + 2], 0xf7
jmp case.0x45024d.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4500af
mov ecx, dword [esp + 8]
and byte [ecx + 2], 0xdf
jmp case.0x45024d.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4500af
mov ecx, dword [esp + 8]
and byte [ecx + 2], 0xef
jmp case.0x45024d.3
mov ecx, dword [esp]
mov dword [ecx], 0
jmp case.0x45024d.3
lea ecx, [edi + 2]
cmp ecx, eax
jge 0x450172
cmp dword [esi + edi*4 + 0x188], 5
jne 0x450172
mov edx, 0xfffffe00
and edx, dword [esi + 0x40]
mov dword [esi + 0x40], edx
movzx edi, byte [esi + edi*4 + 0x18c]
or edi, edx
mov edx, dword [esp + 4]
mov dword [esi + 0x40], edi
mov dword [esi + 0x48], 0
jmp 0x450174
mov byte [esi + 0x48], 0
mov ecx, 0xfffffe00
and ecx, dword [esi + 0x40]
or ecx, 0x100
jmp 0x45016a
lea ecx, [edi + 2]
cmp ecx, eax
jge 0x4501d8
cmp dword [esi + edi*4 + 0x188], 5
jne 0x4501d8
mov edx, 0xfffc01ff
and edx, dword [esi + 0x40]
mov dword [esi + 0x40], edx
mov edi, dword [esi + edi*4 + 0x18c]
shl edi, 9
and edi, 0x1fe00
or edi, edx
mov edx, dword [esp + 4]
mov dword [esi + 0x40], edi
mov dword [esi + 0x4c], 0
jmp 0x4501da
mov byte [esi + 0x4c], 0
mov ecx, 0xfffc01ff
and ecx, dword [esi + 0x40]
or ecx, 0x20400
mov dword [esi + 0x40], ecx
jmp case.0x45024d.3
mov ecx, edi
lea edi, [ecx + 4]
cmp edi, eax
jge 0x450236
cmp dword [esi + ecx*4 + 0x188], 2
jne 0x450236
mov byte [esi + 0x48], 1
mov ebp, 0x100
xor edx, edx
mov ebx, dword [esi + ecx*4 + 0x18c]
cmp ebx, ebp
jb 0x4501a5
xor ebx, ebx
mov byte [esi + 0x49], bl
mov ebx, dword [esi + ecx*4 + 0x190]
cmp ebx, ebp
jb 0x4501b5
xor ebx, ebx
mov byte [esi + 0x4a], bl
mov ecx, dword [esi + ecx*4 + 0x194]
cmp ecx, ebp
jae 0x4501c5
mov edx, ecx
mov ebx, dword [esp + 0x1c]
lea ebp, [esp + 0xe4]
mov byte [esi + 0x4b], dl
jmp 0x4502cf
mov ecx, edi
lea edi, [ecx + 4]
cmp edi, eax
jge 0x450236
cmp dword [esi + ecx*4 + 0x188], 2
jne 0x450236
mov byte [esi + 0x4c], 1
mov ebp, 0x100
xor edx, edx
mov ebx, dword [esi + ecx*4 + 0x18c]
cmp ebx, ebp
jb 0x450203
xor ebx, ebx
mov byte [esi + 0x4d], bl
mov ebx, dword [esi + ecx*4 + 0x190]
cmp ebx, ebp
jb 0x450213
xor ebx, ebx
mov byte [esi + 0x4e], bl
mov ecx, dword [esi + ecx*4 + 0x194]
cmp ecx, ebp
jae 0x450223
mov edx, ecx
mov ebx, dword [esp + 0x1c]
lea ebp, [esp + 0xe4]
mov byte [esi + 0x4f], dl
jmp 0x4502cf
mov edi, ecx
jmp case.0x45024d.3
mov ecx, dword [esi + edi*4 + 0x184]
cmp ecx, 0x6b
ja case.0x45024d.3
jmp dword [ecx*4 + 0x495c40]
mov byte [esi + 0x48], 0
mov ecx, 0xfffffe00
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x184]
add edx, 0xffffffe2
jmp 0x4502ca
mov byte [esi + 0x4c], 0
mov ecx, 0xfffc01ff
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x184]
shl edx, 9
add edx, 0xffffb000
jmp 0x4502ca
mov byte [esi + 0x48], 0
mov ecx, 0xfffffe00
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x184]
add edx, 0xffffffae
jmp 0x4502ca
mov byte [esi + 0x4c], 0
mov ecx, 0xfffc01ff
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x184]
shl edx, 9
add edx, 0xffff4800
or edx, ecx
mov dword [esi + 0x40], edx
mov edx, dword [esp + 4]
inc edi
cmp edi, eax
jl 0x45023d
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x10], eax
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x44e597.92
mov eax, 0x3ffff
and eax, dword [esi + 0x40]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x78], eax
jmp case.0x44e597.92
cmp eax, 0x3e
je 0x45043f
cmp eax, 0x3d
jne 0x450452
mov eax, dword [esi]
mov ecx, 0xfffffe00
and eax, ecx
or eax, 0xf
jmp 0x45044b
jne 0x4503f7
mov eax, dword [esi + 0x98]
cmp dword [esi + 0xe34], eax
jg 0x44f9f7
jmp 0x4503f7
jne case.0x44e597.92
cmp dword [esi + 0xe34], ecx
jg 0x44fab2
jmp case.0x44e597.92
test eax, eax
jle case.0x44e597.92
mov ecx, dword [esi + 0x184]
dec ecx
cmp ecx, 0x16
ja case.0x44e597.92
test byte [esi + 1], 0x40
je 0x44ec99
cmp ecx, 0x14
ja case.0x44e597.92
jmp dword [ecx*4 + 0x495bec]
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push 0
jmp 0x45055b
and eax, 0xffdfffff
mov ecx, dword [esp + 8]
mov dword [ecx], eax
jmp case.0x44e597.92
push 0
push 4
push str.e_0n
push eax
jmp 0x44e5d4
xor ecx, ecx
mov edx, dword [esi + 0x98]
lea ebx, [eax - 1]
test eax, eax
cmove ebx, eax
add ebx, ecx
jmp 0x44fec5
jne 0x4503f7
mov eax, dword [esp + 0x34]
cmp dword [esi + 0xe2c], eax
jl 0x44fa0e
test ebx, ebx
mov ebx, dword [esp + 0x20]
je 0x44e8ca
dec edx
not edi
sub edx, dword [esp + 0x38]
cmp edx, edi
cmovge edi, edx
inc edi
mov edx, ebp
inc ebp
mov ecx, ebx
push dword [esp + 4]
call fcn.00451781
add esp, 4
inc edi
jne 0x450410
jmp 0x44e8ca
mov dword [esi], 0x1001
jmp case.0x44e597.92
and dword [esi], 0x1ff
jmp case.0x44e597.92
mov eax, dword [esi]
mov ecx, 0xfffffe00
and eax, ecx
or eax, 0x1f
mov dword [esi], eax
jmp case.0x44e597.92
lea ecx, [eax - 0x3d]
cmp ecx, 8
ja 0x4504c8
or dword [esi], 0x1ff
jmp case.0x44e597.92
mov al, 1
mov byte [esi + 0x142], al
mov byte [esi + 0xc4], al
jmp case.0x44e597.92
mov byte [esi + 0x142], 0
mov byte [esi + 0xc4], 1
jmp case.0x44e597.92
mov eax, dword [esi + 0x184]
cmp eax, 4
jne case.0x44e597.92
cmp byte [esi + 0xe4], 0
je case.0x44e597.92
mov ecx, esi
call fcn.0044a805
jmp case.0x44e597.92
mov eax, dword [esi + 0xe14]
mov ecx, dword [esi + 0x98]
mov byte [eax + ecx], 0
jmp case.0x44e597.92
cmp eax, 0x32
jne case.0x44e597.92
mov dword [esi + 0xa12], 0x3f5b1b
cmp dword [esi + 0x204], 2
jl 0x450536
xor edi, edi
test edi, edi
je 0x450500
push dword [esp + 0x18]
call fcn.0047e5a0
add esp, 4
mov word [esi + eax + 0xa12], 0x3b
push dword [esi + edi*4 + 0x188]
push 0x49d8e0
lea ebx, [esp + 0x5c]
push ebx
call fcn.00403c98
add esp, 0xc
push ebx
push dword [esp + 0x1c]
call fcn.0047e280
add esp, 8
lea eax, [edi + 1]
add edi, 2
cmp edi, dword [esi + 0x204]
mov edi, eax
jl 0x4504e6
push dword [esp + 0x18]
call fcn.0047e5a0
add esp, 4
mov word [esi + eax + 0xa12], 0x63
jmp case.0x44e597.92
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x40]
jmp 0x44ef4e
cmp eax, 3
jl case.0x44e597.92
cmp byte [esi + 0x10ec], 0
jne case.0x44e597.92
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push dword [esi + 0x18c]
push dword [esi + 0x188]
push eax
call dword [ecx + 0x4c]
jmp 0x44e1dc
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push 1
jmp 0x4505ad
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x50]
jmp 0x44ef4e
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
jmp 0x44daec
cmp eax, 3
jl case.0x44e597.92
cmp byte [esi + 0x10ec], 0
jne case.0x44e597.92
mov eax, dword [esi + 0x188]
mov edx, esi
test eax, eax
jne 0x4505ef
mov eax, dword [edx + 0x10cc]
mov ecx, dword [edx + 0x18c]
test ecx, ecx
jne 0x4505ff
mov ecx, dword [edx + 0x10d0]
mov esi, edx
mov edx, dword [edx + 0x1058]
mov edi, dword [edx]
push eax
push ecx
push edx
call dword [edi + 0x34]
add esp, 0xc
jmp 0x44e28e
cmp eax, 2
jl case.0x44e597.92
mov ecx, dword [esi + 0x1058]
xor eax, eax
cmp dword [esi + 0x188], 0
mov edx, dword [ecx]
setne al
push eax
push ecx
call dword [edx + 0x48]
add esp, 8
jmp case.0x44e597.92
cmp dword [esi + 0x1054], 0
je case.0x44e597.92
mov eax, dword [esi + 0x1058]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
add esp, 4
mov ecx, str.e_2t
mov edx, str.e_1t
test al, al
cmovne edx, ecx
push 0
push 4
push edx
jmp 0x44fce1
cmp dword [esi + 0x1054], 0
je case.0x44e597.92
mov eax, dword [esi + 0x1058]
lea edi, [esp + 0x48]
lea ebx, [esp + 0x4c]
mov ecx, dword [eax]
push edi
push ebx
push eax
call dword [ecx + 0x60]
add esp, 0xc
lea ebp, [esp + 0x94]
push dword [edi]
push dword [ebx]
push str.e_3__u__ut
jmp 0x4506e4
cmp dword [esi + 0x1054], 0
je case.0x44e597.92
mov eax, dword [esi + 0x1058]
lea edi, [esp + 0x48]
lea ebx, [esp + 0x4c]
mov ecx, dword [eax]
push edi
push ebx
push eax
call dword [ecx + 0x64]
add esp, 0xc
lea ebp, [esp + 0x94]
push dword [ebx]
push dword [edi]
push str.e_4__d__dt
push ebp
call fcn.00403c98
add esp, 0x10
push 0
push eax
push ebp
lea ebp, [esp + 0xf0]
jmp 0x44fce1
cmp dword [esi + 0x1054], 0
je case.0x44e597.92
lea edi, [esp + 0x94]
push dword [esi + 0x12c]
push dword [esi + 0x128]
push str.e_8__d__dt
push edi
call fcn.00403c98
add esp, 0x10
jmp 0x44fcdd
mov edi, dword [esi + 0x1054]
test edi, edi
je case.0x44e597.92
mov eax, dword [esi + 0x10f4]
test eax, eax
je case.0x44e597.92
cmp eax, 2
jne 0x4507ac
mov eax, dword [esi + 0x1058]
mov edi, esi
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x68]
add esp, 8
mov edi, dword [esi + 0x1054]
mov ebx, eax
jmp 0x4507b2
mov edi, dword [esi + 0x1054]
test edi, edi
je case.0x44e597.92
mov eax, dword [esi + 0x10f4]
test eax, eax
je case.0x44e597.92
cmp eax, 2
jne 0x4507c9
mov eax, dword [esi + 0x1058]
mov edi, esi
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x68]
add esp, 8
mov edi, dword [esi + 0x1054]
mov ebx, eax
jmp 0x4507cf
mov ebx, dword [0x4b6044]
push ebx
call fcn.0047e5a0
add esp, 4
mov ebp, eax
xor eax, eax
push eax
push 3
push 0x4a6ae6
jmp 0x4507e4
mov ebx, dword [0x4b6044]
push ebx
call fcn.0047e5a0
add esp, 4
mov ebp, eax
xor eax, eax
push eax
push 3
push 0x4a25de
push edi
call fcn.0040e67f
add esp, 0x10
test ebp, ebp
jle 0x450803
push 0
push ebp
push ebx
push dword [esi + 0x1054]
call fcn.0040e67f
add esp, 0x10
push 0
push 2
push 0x4a61f9
push dword [esi + 0x1054]
call fcn.0040e67f
add esp, 0x10
jmp 0x44e28e
mov ecx, esi
call fcn.00452565
cmp byte [esi + 0x10dd], 0
je 0x450842
mov eax, dword [esi + 0x105c]
test eax, eax
je 0x450842
push eax
call fcn.0040f0ac
add esp, 4
mov ecx, dword [esp + 0x1e4]
xor ecx, esp
call fcn.0046ef41
add esp, 0x1e8
pop esi
pop edi
pop ebx
pop ebp
ret