Function at 0x4529ae
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, 0x1d8
mov esi, ecx
mov eax, dword [0x4c1074]
xor eax, esp
mov dword [esp + 0x1d4], eax
lea ebx, [ecx + 0x80]
lea eax, [ecx + 0xec]
mov dword [esp + 0x2c], eax
lea eax, [ecx + 0xe1c]
mov dword [esp], eax
lea eax, [ecx + 0xd8]
mov dword [esp + 0x3c], eax
lea eax, [ecx + 0xe2c]
mov dword [esp + 0x20], eax
lea eax, [ecx + 0x28]
mov dword [esp + 0x38], eax
lea eax, [ecx + 0x6c]
mov dword [esp + 0x18], eax
lea eax, [ecx + 0x40]
mov dword [esp + 0xc], eax
lea eax, [ecx + 0x58]
mov dword [esp + 8], eax
lea eax, [ecx + 0xa16]
mov dword [esp + 0x24], eax
xor edx, edx
dec edx
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], ecx
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x452aab
cmp edx, 0xffffffff
jne 0x452aab
push ebx
call fcn.0045b257
add esp, 4
test eax, eax
je 0x455a53
push ebx
call fcn.0045b39e
add esp, 4
mov ebp, edx
mov ecx, 0x100
cmp edx, ecx
cmovae ebp, ecx
push ebp
push eax
lea edi, [esp + 0xdc]
push edi
call fcn.00478020
add esp, 0xc
push ebp
push ebx
call fcn.0045b30d
add esp, 8
test ebp, ebp
jne 0x452abe
push 0xdff
push str..._terminal.c
push str.nchars___0
call fcn.00481fcd
add esp, 0xc
xor ebp, ebp
lea edi, [esp + 0xd4]
jmp 0x452abe
cmp edx, 0xffffffff
je 0x452ab6
mov dword [esp + 0x40], edx
jmp 0x452aed
test ebp, ebp
mov edi, dword [esp + 0x30]
je 0x452a54
movzx eax, byte [edi]
inc edi
mov dword [esp + 0x40], eax
dec ebp
cmp dword [esi + 0x10e4], 2
mov dword [esp + 0x30], edi
jne 0x452aed
mov ecx, dword [esi + 0x1060]
test ecx, ecx
je 0x452aed
movzx eax, al
push 2
push eax
push ecx
call fcn.0040fd15
add esp, 0xc
cmp byte [esi + 0xe4], 0
mov dword [esp + 0x34], ebp
je 0x452b41
push 1
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x34]
call fcn.0045b272
add esp, 0xc
cmp byte [esi + 0xe5], 0
je 0x452b41
mov eax, dword [esp + 0x40]
cmp eax, 0x5a
jle 0x452b9c
cmp eax, 0x5b
je 0x452bc1
cmp eax, 0x69
je 0x452bdc
cmp eax, 0x9b
je 0x452bca
jmp 0x452bfe
mov eax, dword [esp]
cmp dword [eax], 0
mov edx, dword [esp + 0x40]
je 0x452b59
xor eax, eax
dec eax
mov dword [esp + 0x14], eax
jmp 0x452c2f
movzx eax, dl
push eax
push dword [esp + 0x40]
push esi
call fcn.004506c9
add esp, 0xc
xor edx, edx
dec edx
cmp eax, 0x8000003f
je 0x452a36
mov edx, 0xd961
cmp eax, 0x8000002a
je 0x452c24
cmp eax, 0x80000021
jne 0x452c22
mov eax, dword [esp + 0x40]
jmp 0x452c27
cmp eax, 0x1b
je 0x452c10
cmp eax, 0x34
jne 0x452bfe
cmp dword [esi + 0xe8], 2
jne 0x452bfe
mov dword [esi + 0xe8], 3
xor edx, edx
dec edx
jmp 0x452a36
cmp dword [esi + 0xe8], 1
jne 0x452bfe
mov dword [esi + 0xe8], 2
xor edx, edx
dec edx
jmp 0x452a36
cmp dword [esi + 0xe8], 3
jne 0x452bfe
mov dword [esi + 0xe8], 4
mov ecx, esi
call fcn.0044f59e
xor edx, edx
dec edx
jmp 0x452a36
mov dword [esi + 0xe8], 0
xor edx, edx
dec edx
jmp 0x452a36
mov dword [esi + 0xe8], 1
xor edx, edx
dec edx
jmp 0x452a36
mov edx, eax
xor eax, eax
dec eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], edx
mov eax, edx
and eax, 0xffffffe0
cmp eax, 0x80
jne 0x452c76
mov eax, dword [esp]
cmp dword [eax], 4
jg 0x452d2c
cmp byte [esi + 0x13e], 0
jne 0x452d2c
test byte [esi], 0x10
je 0x452d2c
cmp edx, 0x9a
jne 0x4530ef
mov dword [esp + 0x40], 0
jmp case.0x4534de.92
cmp edx, 0x7f
jne 0x452cba
mov eax, dword [esp]
mov eax, dword [eax]
cmp eax, 4
jg 0x452d31
test byte [esi + 1], 0x40
je 0x452d31
mov edx, dword [esi + 0x98]
test edx, edx
je 0x4531df
cmp byte [esi + 0xae], 0
jne 0x4531e1
dec edx
mov dword [esi + 0x98], edx
jmp 0x4531e1
cmp edx, 0x20
jae 0x452d2c
mov eax, dword [esp]
mov eax, dword [eax]
cmp eax, 4
jg 0x452d31
add edx, 0xfffffffb
cmp edx, 0x16
ja case.0x4534de.92
jmp dword [edx*4 + 0x49faf0]
test byte [esi], 1
je 0x453bf6
cmp dword [esi + 0x1058], 0
je case.0x4534de.92
mov ecx, esi
xor edx, edx
push dword [esi + 0x10ac]
push dword [esi + 0x10a8]
call fcn.004560bf
add esp, 8
mov edi, eax
push 0
push dword [eax + 8]
push dword [eax]
push dword [esi + 0x1058]
call fcn.0040f0e5
add esp, 0x10
push edi
call fcn.0045af73
jmp 0x453246
mov eax, dword [esp]
mov eax, dword [eax]
cmp eax, 0xd
ja case.0x4534de.92
jmp dword [eax*4 + 0x49fb4c]
mov ecx, esi
call fcn.00458522
mov eax, dword [esp + 0x40]
mov dword [esi + 0x1068], eax
jmp case.0x4534de.92
mov eax, dword [esp]
mov dword [eax], 0
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x453081
mov ecx, dword [esi + 0x208]
cmp ecx, 0x20
jg 0x4530a9
mov edi, dword [esi + ecx*4 + 0x184]
test edi, edi
jne 0x452d9e
mov dword [esi + ecx*4 + 0x184], 0
mov ecx, dword [esi + 0x208]
mov edi, dword [esi + ecx*4 + 0x184]
dec ecx
xor ebx, ebx
dec ebx
cmp edi, 0x19999999
ja 0x452dc4
add edi, edi
lea edi, [edi + edi*4]
mov ebx, 0xffffffcf
sub ebx, edx
add eax, edi
cmp edi, ebx
mov edx, 0xffffffff
cmova eax, edx
mov ebx, eax
mov dword [esi + ecx*4 + 0x188], ebx
mov ebx, dword [esp + 4]
jmp 0x4530a9
mov byte [esi + 0xa15], 0
lea eax, [edx - 0x30]
cmp eax, 0x22
ja case.default.0x452de7
jmp dword [eax*4 + 0x49fc74]
mov eax, dword [esi + 0x208]
mov ecx, dword [esi + eax*4 + 0x184]
cmp ecx, 0x19999999
ja 0x452e17
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edi, 0xffffffcf
sub edi, edx
cmp ecx, edi
jbe 0x453451
mov dword [esi + eax*4 + 0x184], 0xffffffff
jmp case.0x4534de.92
lea eax, [edx - 0x30]
cmp eax, 9
ja case.0x452de7.58
mov ecx, dword [esi + 0x188]
cmp ecx, 0x19999999
ja 0x452e55
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edi, 0xffffffcf
sub edi, edx
cmp ecx, edi
jbe 0x45351b
mov dword [esi + 0x188], 0xffffffff
jmp case.0x4534de.92
mov eax, dword [esi + 0x210]
test eax, eax
mov ecx, 0xf
mov edi, 0x15
cmove ecx, edi
lea ebx, [edx - 0x30]
cmp ebx, 0xa
jb 0x45330a
cmp edx, 0x41
jl 0x4532f1
lea edi, [ecx + 0x37]
cmp edx, edi
jg 0x4532f1
add edx, 0xffffffc9
jmp 0x453308
cmp edx, 0xc
jle 0x4530b7
cmp edx, 0x9c
je 0x453259
cmp edx, 0x1b
je 0x453443
cmp edx, 0xd
je 0x453bf6
jmp 0x4530c9
cmp edx, 0x5c
jne case.0x452d3a.1
mov ecx, esi
call fcn.00458a19
jmp 0x4533a9
mov dword [esi + 0xe1c], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
jne 0x452f15
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
mov edx, dword [esp + 0x40]
add edx, 0xffffffc4
cmp edx, 0x3b
ja case.0x4534de.92
jmp dword [edx*4 + 0x49fb84]
mov byte [esi + 0x13e], 0
mov al, byte [esi + 0x10cb]
mov byte [esi + 0xc9], al
mov ecx, esi
call fcn.0044f669
jmp case.0x4534de.92
mov dword [esi + 0xe1c], 0xb
add edx, 0xffffffe0
mov eax, dword [esi + 0x98]
test eax, eax
mov ebp, 0
cmovs eax, ebp
mov ecx, dword [esi + 0x12c]
lea edi, [ecx - 1]
cmp eax, ecx
cmovl edi, eax
mov eax, dword [esi + 0x128]
test edx, edx
cmovs edx, ebp
lea ecx, [eax - 1]
cmp edx, eax
cmovl ecx, edx
mov dword [esi + 0x98], edi
mov dword [esi + 0x94], ecx
jmp 0x452fd4
xor edi, edi
mov dword [esi + 0xe1c], edi
add edx, 0xffffffe0
cmovs edx, edi
mov eax, dword [esi + 0x12c]
lea ecx, [eax - 1]
cmp edx, eax
cmovl ecx, edx
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x128]
test eax, eax
cmovs eax, edi
lea edi, [edx - 1]
cmp eax, edx
cmovl edi, eax
mov dword [esi + 0x98], ecx
mov dword [esi + 0x94], edi
mov byte [esi + 0xae], 0
jmp case.0x4534de.92
mov dword [esi + 0xe1c], 0
mov eax, dword [esi + 0x40]
mov ecx, 0xfffbfe00
and eax, ecx
and edx, 0xf
or edx, eax
mov dword [esi + 0x40], edx
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x10]
movups xmmword [ecx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x4534de.92
and edx, 0x3fe0f
jmp 0x453073
mov dword [esi + 0xe1c], 0
mov eax, dword [esi + 0x40]
mov ecx, 0xffdc01ff
and eax, ecx
and edx, 0xf
shl edx, 9
or edx, eax
mov dword [esi + 0x40], edx
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x10]
movups xmmword [ecx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x4534de.92
and edx, 0x1fff
mov dword [esi + 0x70], edx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x78], eax
jmp case.0x4534de.92
cmp edx, 0x3b
jne 0x4533b8
mov eax, dword [esi + 0x208]
cmp eax, 0x1f
jg 0x4530a9
lea ecx, [eax + 1]
mov dword [esi + 0x208], ecx
mov dword [esi + eax*4 + 0x188], 0
mov eax, dword [esp]
mov dword [eax], 2
jmp case.0x4534de.92
cmp edx, 7
je 0x453259
cmp edx, 0xa
je 0x453bf6
mov eax, dword [esi + 0x210]
cmp eax, 0x7ff
jg case.0x4534de.92
lea ecx, [eax + 1]
mov dword [esi + 0x210], ecx
mov byte [esi + eax + 0x214], dl
jmp case.0x4534de.92
mov dword [esi + 0xe1c], 1
mov dword [esi + 0x20c], 0
and edx, 0x1f
or edx, 0x40
mov dword [esp + 0x40], edx
mov eax, edx
and eax, 0xfffffff0
cmp eax, 0x20
jne 0x453133
cmp dword [esi + 0x20c], 0
je 0x45324e
mov dword [esi + 0x20c], 0xffffffff
jmp case.0x4534de.92
mov dword [esi + 0xe1c], 0
mov eax, dword [esi + 0x20c]
shl eax, 8
add eax, edx
cmp eax, 0x2337
jg 0x453185
cmp eax, 0x59
jg 0x453265
lea ecx, [eax - 0x37]
cmp ecx, 7
jbe switch.0x00453462
add eax, 0xffffffbc
cmp eax, 9
ja case.0x4534de.92
jmp dword [eax*4 + 0x4a0030]
test byte [esi], 2
jne 0x453e13
jmp 0x453e5b
cmp eax, 0x2841
jg 0x4533f2
cmp eax, 0x2546
jg 0x4535c0
cmp eax, 0x2338
je 0x453c04
cmp eax, 0x2538
je 0x4538bc
cmp eax, 0x2540
jne case.0x4534de.92
test byte [esi + 1], 0x40
je 0x453bf6
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov byte [esi + 0xd5], 0
jmp case.0x4534de.92
xor edx, edx
mov byte [esi + 0xae], 0
cmp byte [esi + 0x10ed], 0
jne case.0x4534de.92
mov ecx, esi
push dword [esi + 0x94]
call fcn.00456beb
add esp, 4
mov edx, dword [esi + 0x98]
inc edx
mov ecx, esi
push dword [esi + 0x94]
call fcn.00456beb
add esp, 4
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x98]
mov ecx, esi
push 1
push 0xe5e
call fcn.0044f822
add esp, 8
mov ecx, eax
mov edx, edi
push dword [esp + 0x18]
call fcn.00456cac
add esp, 4
jmp case.0x4534de.92
mov dword [esi + 0x20c], edx
jmp case.0x4534de.92
mov ecx, esi
call fcn.00458a19
jmp 0x4533a9
lea ecx, [eax - 0x5a]
cmp ecx, 9
jbe switch.0x004534de
lea ecx, [eax - 0x2333]
cmp ecx, 4
jae case.0x4534de.92
test byte [esi], 2
je 0x453e5b
xor edx, edx
inc edx
mov ebp, edx
cmp ecx, 2
ja 0x45329b
movzx ebp, word [eax + eax + 0x49b406]
mov edx, dword [esi + 0x94]
mov ecx, esi
push 1
push 0xfb4
call fcn.0044f822
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x12c]
cmp eax, dword [edi + 4]
je 0x4532cc
mov ecx, esi
mov edx, edi
push eax
call fcn.00456dbf
add esp, 4
mov al, byte [edi + 0x18]
cmp al, byte [esi + 0x10a4]
je 0x4532e9
mov ecx, esi
mov edx, edi
call fcn.00456d7b
mov al, byte [esi + 0x10a4]
mov byte [edi + 0x18], al
mov word [edi], bp
jmp case.0x4534de.92
cmp edx, 0x61
jl 0x453528
add ecx, 0x57
cmp edx, ecx
jg 0x453528
add edx, 0xffffffa9
mov ebx, edx
lea ecx, [eax + 1]
mov dword [esi + 0x210], ecx
mov byte [esi + eax + 0x214], bl
cmp dword [esi + 0x210], 7
mov ebx, dword [esp + 4]
jl case.0x4534de.92
movsx edi, byte [esi + 0x214]
cmp edi, 0x16
jb 0x45334e
push 0x1408
push str..._terminal.c
push str.oscp_index___OSCP_NCOLOURS
call fcn.00481fcd
add esp, 0xc
mov eax, dword [edi*4 + 0x49f7e0]
mov cl, byte [esi + 0x215]
shl cl, 4
add cl, byte [esi + 0x216]
lea edx, [eax + eax*2]
mov byte [esi + edx + 0x1961], cl
mov cl, byte [esi + 0x217]
shl cl, 4
add cl, byte [esi + 0x218]
mov byte [esi + edx + 0x1962], cl
mov cl, byte [esi + 0x219]
shl cl, 4
add cl, byte [esi + 0x21a]
mov byte [esi + edx + 0x1963], cl
mov byte [esi + eax + 0x1c73], 1
mov ecx, esi
call fcn.004571a6
mov dword [esi + 0xe1c], 0
jmp case.0x4534de.92
mov eax, dword [esi + 0x20c]
cmp edx, 0x3f
ja 0x45353a
mov ecx, 1
cmove edx, ecx
cmp eax, 1
mov eax, 0
sbb eax, eax
not eax
or eax, edx
mov dword [esi + 0x20c], eax
mov dword [esi + 0xe1c], 2
jmp case.0x4534de.92
cmp eax, 0x2940
jg 0x453606
cmp eax, 0x2842
je 0x453d4e
cmp eax, 0x2855
je 0x453d73
cmp eax, 0x2930
jne case.0x4534de.92
test byte [esi], 2
je 0x453bf6
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x15c], 0xd900
jmp case.0x4534de.92
mov eax, dword [esp]
mov dword [eax], 8
jmp case.0x4534de.92
add ecx, edx
add ecx, 0xffffffd0
mov dword [esi + eax*4 + 0x184], ecx
jmp case.0x4534de.92
jmp dword [ecx*4 + 0x4a0010]
test byte [esi], 2
je 0x453e5b
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 + 0x54], eax
mov dword [esi + 0x50], ecx
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 + 0x158]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd0], eax
jmp case.0x4534de.92
jmp dword [ecx*4 + 0x4a0058]
test byte [esi], 2
je 0x453e5b
mov edi, dword [esi + 0x1058]
test edi, edi
je case.0x4534de.92
mov ebp, dword [esp + 0x24]
push ebp
call fcn.004855c0
add esp, 4
push 0
push eax
push ebp
push edi
call fcn.0040f0e5
add esp, 0x10
jmp case.0x4534de.92
add eax, ecx
mov dword [esi + 0x188], eax
jmp case.0x4534de.92
mov eax, dword [esp]
mov dword [eax], 0
mov ebx, dword [esp + 4]
jmp case.0x4534de.92
mov ecx, eax
shl ecx, 8
add ecx, edx
cmp ecx, 0x168
jg 0x4539be
lea edx, [ecx - 0x40]
cmp edx, 0x38
ja case.default.0x453559
jmp dword [edx*4 + 0x49fd00]
test byte [esi + 1], 0x20
je 0x453bf6
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
xor edx, edx
sub eax, 1
cmovb eax, edx
test eax, eax
cmovs eax, edx
lea edi, [ecx - 1]
cmp eax, ecx
cmovl edi, eax
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x128]
test eax, eax
cmovns edx, eax
lea eax, [ecx - 1]
cmp edx, ecx
cmovl eax, edx
mov dword [esi + 0x98], edi
mov dword [esi + 0x94], eax
jmp 0x454b50
cmp eax, 0x2547
je 0x4538bc
cmp eax, 0x2830
je 0x453d99
cmp eax, 0x2841
jne case.0x4534de.92
test byte [esi], 2
je 0x453e5b
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x158], 0xdb00
jmp case.0x4534de.92
cmp eax, 0x2941
je 0x453dbe
cmp eax, 0x2942
je 0x453de3
cmp eax, 0x2955
jne case.0x4534de.92
test byte [esi + 1], 0x40
je 0x453bf6
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x15c], 0xda00
jmp case.0x4534de.92
cmp edx, 0x57
jne case.0x452de7.58
mov dword [esi + 0xe1c], 4
mov byte [esi + 0xa15], 1
jmp case.0x4534de.92
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
cmp byte [esi + 0x34], 0
mov ebp, dword [esp + 0x38]
jne 0x454281
xor eax, eax
push eax
push 8
push 1
call fcn.004115d0
add esp, 0xc
mov dword [eax + 4], edi
xor ecx, ecx
mov dword [eax], ecx
cmp dword [ebp], ecx
je 0x454277
mov ecx, dword [esi + 0x2c]
jmp 0x454279
mov eax, dword [esi + 0x98]
test eax, eax
je 0x453b36
cmp byte [esi + 0xae], 0
jne 0x4539b2
dec eax
mov dword [esi + 0x98], eax
jmp 0x45434a
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x98]
mov dword [esp + 0x28], eax
mov ecx, esi
mov dword [esp + 0x1c], edx
push 1
push 0xefa
call fcn.0044f822
add esp, 8
mov ebx, dword [esi + 0x98]
mov ebp, dword [esi + 0x12c]
lea edx, [ebp - 1]
inc ebx
mov ecx, ebx
mov dword [esi + 0x98], ebx
cmp ebx, edx
jge 0x453720
mov edi, dword [esi + 0xe18]
lea ebx, [ecx + 1]
cmp byte [edi + ecx], 0
je 0x453705
test byte [eax], 3
je 0x453b72
mov eax, ebp
shr eax, 0x1f
add eax, ebp
sar eax, 1
cmp ecx, eax
mov ebx, dword [esp + 4]
jl 0x453b82
dec eax
mov dword [esi + 0x98], eax
mov ecx, eax
jmp 0x453b82
test byte [esi + 1], 0x10
jne 0x45395e
test byte [esi], 2
je 0x453bf6
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x453847
mov edx, dword [esi + 0xa4]
mov ecx, esi
xor edi, edi
inc edi
push edi
push edi
push eax
call fcn.00456918
add esp, 0xc
jmp 0x453859
mov dword [esi + 0x98], 0
mov byte [esi + 0xae], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
jne 0x4537c2
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
cmp byte [esi + 0x10d8], 0
je 0x453898
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x454133
mov edx, dword [esi + 0xa4]
mov ecx, esi
xor edi, edi
inc edi
push edi
push edi
push eax
call fcn.00456918
add esp, 0xc
jmp 0x453898
test byte [esi], 2
je 0x453bf6
mov dword [esi + 0xb0], 1
jmp case.0x4534de.92
test byte [esi], 2
je 0x453bf6
mov dword [esi + 0xb0], 0
jmp case.0x4534de.92
cmp byte [esi + 0x13e], 0
je 0x453bed
mov eax, dword [esp]
mov dword [eax], 9
jmp case.0x4534de.92
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x453859
inc eax
mov dword [esi + 0x94], eax
cmp byte [esi + 0x10e0], 0
je 0x45386c
mov dword [esi + 0x98], 0
mov byte [esi + 0xae], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
jne 0x453898
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
mov eax, dword [esi + 0x1060]
test eax, eax
je case.0x4534de.92
movzx ecx, byte [esp + 0x40]
push 1
push ecx
push eax
call fcn.0040fd15
add esp, 0xc
jmp case.0x4534de.92
test byte [esi + 1], 0x40
je 0x453bf6
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov byte [esi + 0xd5], 1
jmp case.0x4534de.92
cmp dword [esi + 0x208], 1
jne case.0x452de7.58
cmp dword [esi + 0x188], 4
jne case.0x452de7.58
mov dword [esi + 0x208], 2
mov dword [esi + 0x18c], 0
jmp case.0x4534de.92
cmp dword [esi + 0x188], 2
jne case.0x452de7.58
mov dword [esi + 0x188], 1
jmp case.0x4534de.92
mov dword [esi + 0xe1c], 7
mov dword [esi + 0x210], 0
jmp case.0x4534de.92
mov dword [esi + 0xe1c], 6
jmp 0x45392c
mov ecx, esi
xor edx, edx
call fcn.0044fbff
push esi
call fcn.004509db
add esp, 4
jmp 0x4533a9
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
lea edx, [ecx - 1]
test ecx, ecx
mov edi, 0
cmovg edx, edi
lea ecx, [eax - 1]
test eax, eax
cmovg ecx, edi
mov dword [esi + 0x98], edx
mov dword [esi + 0x94], ecx
mov byte [esi + 0xae], 0
mov ecx, esi
xor edx, edx
push 1
push 0
call fcn.00456690
add esp, 8
cmp byte [esi + 0x10fd], 0
je 0x4539b2
mov dword [esi + 0x10], 0
mov byte [esi + 0xae], 0
jmp 0x45434a
cmp ecx, 0x3d42
jle 0x4541d6
lea eax, [ecx - 0x3d43]
cmp eax, 9
ja case.default.0x4539d9
jmp dword [eax*4 + 0x49fde4]
test byte [esi + 1], 0x10
je 0x453bf6
cmp dword [esi + 0x208], 2
jl case.0x4534de.92
mov eax, dword [esi + 0x188]
cmp eax, dword [esi + 0x18c]
ja case.0x452f21.102
jmp case.0x452f21.101
test byte [esi], 2
je 0x453e5b
mov ecx, esi
xor edx, edx
call fcn.00458be3
jmp 0x4541a8
test byte [esi], 2
je 0x453e5b
mov byte [esi + 0x13d], 1
jmp case.0x4534de.92
test byte [esi], 2
je 0x453e5b
mov byte [esi + 0x13d], 0
jmp case.0x4534de.92
mov dword [esi + 0xe1c], 2
mov dword [esi + 0x208], 1
xor eax, eax
mov dword [esi + 0x188], eax
mov dword [esi + 0x20c], eax
jmp case.0x4534de.92
test byte [esi + 1], 0x40
je 0x453e5b
mov dword [esi + 0xe1c], 3
mov dword [esi + 0x188], 0
mov dword [esi + 0x208], 1
jmp case.0x4534de.92
test byte [esi], 2
je 0x453e5b
mov ecx, esi
xor edx, edx
inc edx
call fcn.0044e731
mov eax, dword [esi + 0x1058]
test eax, eax
je 0x453ac9
push eax
call fcn.0040f079
add esp, 4
cmp byte [esi + 0xc5], 0
je 0x453b1d
cmp byte [esi + 0x10f0], 0
jne 0x453b16
mov byte [esi + 0x20a8], 1
mov dword [esi + 0x20ac], 0x50
mov eax, dword [esi + 0x128]
mov dword [esi + 0x20b0], eax
cmp byte [esi + 0x1071], 0
jne 0x453b16
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
mov byte [esi + 0xc5], 0
cmp byte [esi + 0x10fd], 0
je 0x4541a8
mov dword [esi + 0x10], 0
jmp 0x4541a8
mov ecx, dword [esi + 0x94]
test ecx, ecx
je 0x45434a
cmp byte [esi + 0xad], 0
je 0x45434a
test ecx, ecx
jle 0x4536b7
mov eax, dword [esi + 0x12c]
dec eax
mov dword [esi + 0x98], eax
dec ecx
mov dword [esi + 0x94], ecx
jmp 0x45434a
cmp ecx, ebp
mov ebx, dword [esp + 4]
jl 0x453b82
mov dword [esi + 0x98], edx
mov ecx, edx
xor eax, eax
mov edx, dword [esp + 0x28]
cmp dword [esi + 0xe38], edx
setg al
xor edx, edx
mov edi, dword [esp + 0x1c]
cmp dword [esi + 0xe34], edi
setg dl
cmove edx, eax
cmp dl, 1
jne 0x45434a
mov edx, dword [esi + 0x94]
xor eax, eax
cmp dword [esi + 0xe30], ecx
setl al
xor ecx, ecx
cmp dword [esi + 0xe2c], edx
setl cl
cmove ecx, eax
cmp cl, 1
jne 0x45434a
mov dword [esi + 0xe20], 0
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
jmp 0x45434a
test byte [esi], 1
jne 0x45414e
mov eax, dword [esp]
mov dword [eax], 0
jmp case.0x4534de.92
test byte [esi], 2
je 0x453e5b
mov eax, dword [esi + 0x128]
test eax, eax
jle 0x453caf
xor edi, edi
mov ecx, esi
mov edx, edi
push 1
push 0xf8b
call fcn.0044f822
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x12c]
cmp eax, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edi
je 0x453c5e
mov ecx, esi
mov edx, dword [esp + 0x1c]
push eax
call fcn.00456dbf
mov ecx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esi + 0x12c]
test eax, eax
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0x10]
jle 0x453c93
xor ebx, ebx
xor edi, edi
mov edx, edi
push ebp
call fcn.00456cac
mov ecx, dword [esp + 0x20]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [eax + ebx], 0x45
inc edi
add ebx, 0x14
cmp edi, dword [esi + 0x12c]
jl 0x453c6e
mov word [ecx], 0
mov edi, dword [esp + 0x28]
inc edi
mov eax, dword [esi + 0x128]
cmp edi, eax
mov ebx, dword [esp + 4]
jl 0x453c1d
cmp byte [esi + 0x10fd], 0
je 0x453cbf
mov dword [esi + 0x10], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
jne 0x453cea
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
mov eax, dword [esi + 0x128]
xor ecx, ecx
cmp dword [esi + 0xe38], 0
setg cl
xor edx, edx
cmp dword [esi + 0xe34], 0
setg dl
cmove edx, ecx
cmp dl, 1
jne case.0x4534de.92
xor ecx, ecx
cmp dword [esi + 0xe30], 0
sets cl
xor edx, edx
cmp dword [esi + 0xe2c], eax
setl dl
cmovne ecx, edx
cmp cl, 1
jne case.0x4534de.92
mov dword [esi + 0xe20], 0
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov edx, dword [esp + 0x14]
jmp 0x452a36
test byte [esi], 2
je 0x453e5b
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x158], 0xd800
jmp case.0x4534de.92
test byte [esi + 1], 0x40
je 0x453e5b
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x158], 0xda00
jmp case.0x4534de.92
test byte [esi], 2
je 0x453e5b
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x158], 0xd900
jmp case.0x4534de.92
test byte [esi], 2
je 0x453e5b
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x15c], 0xdb00
jmp case.0x4534de.92
test byte [esi], 2
je 0x453e5b
cmp byte [esi + 0x10ef], 0
jne case.0x4534de.92
mov dword [esi + 0x15c], 0xd800
jmp case.0x4534de.92
test byte [esi], 2
je 0x453e5b
mov dword [esi + 0x98], 0
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x454167
mov edx, dword [esi + 0xa4]
mov ecx, esi
xor edi, edi
inc edi
push edi
push edi
push eax
jmp 0x454199
test byte [esi], 2
je 0x453e5b
mov eax, dword [esi + 0xe18]
mov ecx, dword [esi + 0x98]
mov byte [eax + ecx], 1
jmp case.0x4534de.92
test byte [esi], 2
jne 0x45417b
mov eax, dword [esp]
mov dword [eax], 0
jmp case.0x4534de.92
mov byte [esi + 0x13d], 1
jmp case.0x4534de.92
mov byte [esi + 0x13d], 0
jmp case.0x4534de.92
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
dec eax
jmp 0x453e9d
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
inc eax
mov ecx, esi
push 1
push eax
jmp 0x453ebe
mov edx, dword [esi + 0x98]
inc edx
jmp 0x453eb4
mov edx, dword [esi + 0x98]
dec edx
mov ecx, esi
push 1
push dword [esi + 0x94]
call fcn.0045848f
jmp 0x4541ce
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
lea edx, [ecx - 1]
xor edi, edi
test ecx, ecx
cmovg edx, edi
lea ecx, [eax - 1]
test eax, eax
cmovg ecx, edi
mov dword [esi + 0x98], edx
mov dword [esi + 0x94], ecx
mov byte [esi + 0xae], 0
mov ecx, esi
xor edx, edx
push 1
push 0
jmp 0x4540af
mov dword [esi + 0xb0], 0
mov dword [esi + 0x158], 0xd900
jmp case.0x4534de.92
mov dword [esi + 0xb0], 0
mov dword [esi + 0x158], 0xd800
jmp case.0x4534de.92
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
lea edx, [ecx - 1]
xor edi, edi
test ecx, ecx
cmovg edx, edi
lea ecx, [eax - 1]
test eax, eax
cmovg ecx, edi
mov dword [esi + 0x98], edx
jmp 0x452f8b
mov eax, dword [esi + 0x94]
test eax, eax
je 0x454326
jle 0x452fd4
dec eax
mov dword [esi + 0x94], eax
jmp 0x452fd4
xor edx, edx
inc edx
mov ecx, esi
push 1
push 0
jmp 0x4540f7
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0xa8]
cmp edx, eax
jg case.0x4534de.92
mov ecx, esi
push 0
push 0xffffffffffffffff
jmp 0x453fc6
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0xa8]
cmp edx, eax
jg case.0x4534de.92
mov ecx, esi
xor edi, edi
inc edi
push edi
push edi
push eax
call fcn.00456918
add esp, 0xc
jmp case.0x4534de.92
mov byte [esi + 0xd4], 0
mov dword [esi + 0x40], 0x20500
xor eax, eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x4534de.92
mov dword [esi + 0x70], 0x20500
mov dword [esi + 0x78], 0
jmp case.0x4534de.92
mov eax, dword [esp + 0xc]
or byte [eax + 2], 8
jmp case.0x4534de.92
mov byte [esi + 0xd4], 0
and byte [esi + 0x42], 0xfb
jmp case.0x4534de.92
mov byte [esi + 0xd4], 1
or byte [esi + 0x42], 4
jmp case.0x4534de.92
mov eax, dword [esp + 0xc]
and byte [eax + 2], 0xf7
jmp case.0x4534de.92
mov eax, dword [esp]
mov dword [eax], 0xa
jmp case.0x4534de.92
mov eax, dword [esi + 0x1058]
test eax, eax
je case.0x4534de.92
push 0
push 3
push 0x4b002a
push eax
call fcn.0040f0e5
add esp, 0x10
jmp case.0x4534de.92
mov eax, dword [esp]
mov dword [eax], 0xc
jmp case.0x4534de.92
mov eax, dword [esp]
mov dword [eax], 0xd
jmp case.0x4534de.92
mov ecx, esi
xor edx, edx
push 0
push 1
call fcn.00456690
add esp, 8
cmp byte [esi + 0x10fd], 0
je case.0x4534de.92
mov dword [esi + 0x10], 0
jmp case.0x4534de.92
mov ecx, esi
xor edx, edx
inc edx
push edx
push edx
call fcn.00456690
add esp, 8
mov dword [esi + 0x98], 0
jmp 0x452fd4
xor edx, edx
inc edx
mov ecx, esi
push 0
push 1
call fcn.00456690
jmp 0x4541ce
mov eax, dword [esp + 0xc]
or byte [eax + 2], 0x10
jmp case.0x4534de.92
mov eax, dword [esp + 0xc]
and byte [eax + 2], 0xef
jmp case.0x4534de.92
mov byte [esi + 0xad], 1
jmp case.0x4534de.92
mov byte [esi + 0xad], 0
jmp case.0x4534de.92
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x453898
inc eax
mov dword [esi + 0x94], eax
jmp 0x453898
mov dword [esi + 0xe1c], 1
mov dword [esi + 0x20c], 0
jmp case.0x4534de.92
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x4541a1
inc eax
mov dword [esi + 0x94], eax
jmp 0x4541a1
mov edx, dword [esi + 0x94]
cmp edx, dword [esi + 0xa4]
jne 0x454419
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [esi + 0xa8]
call fcn.00456918
add esp, 0xc
mov byte [esi + 0xae], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
jne case.0x4534de.92
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
jmp case.0x4534de.92
cmp ecx, 0x226f
jle 0x45446b
cmp ecx, 0x2270
je 0x4547f9
cmp ecx, 0x247c
je 0x454828
cmp ecx, 0x2a7c
jne case.0x4534de.92
test byte [esi], 0x40
je 0x453bf6
cmp dword [esi + 0x208], 1
jne case.0x4534de.92
mov eax, dword [esi + 0x188]
test eax, eax
je case.0x4534de.92
cmp byte [esi + 0x10f0], 0
jne 0x453d31
mov byte [esi + 0x20a8], 1
mov ecx, dword [esi + 0x12c]
mov dword [esi + 0x20ac], ecx
mov dword [esi + 0x20b0], eax
cmp byte [esi + 0x1071], 0
jne 0x453d31
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
jmp 0x453d31
mov ecx, ebp
mov dword [ecx], eax
mov dword [esi + 0x2c], eax
inc dword [esi + 0x30]
mov eax, dword [ebp]
test eax, eax
je 0x4542b9
mov ecx, edi
sub ecx, dword [esi + 0x10c4]
cmp dword [eax + 4], ecx
jae 0x4542b9
mov ecx, dword [eax]
mov dword [ebp], ecx
push eax
call fcn.00411645
add esp, 4
mov eax, dword [ebp]
test eax, eax
je 0x4542af
dec dword [esi + 0x30]
jmp 0x454288
mov dword [esi + 0x2c], 0
dec dword [esi + 0x30]
cmp byte [esi + 0x10b8], 0
je 0x4542e6
cmp byte [esi + 0x34], 0
je 0x4542db
mov eax, edi
sub eax, dword [esi + 0x38]
cmp eax, dword [esi + 0x10c0]
jb 0x454347
mov byte [esi + 0x34], 0
jmp 0x4542e6
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x10bc]
jge 0x454343
mov dword [esi + 0x38], edi
mov eax, dword [esi + 0x105c]
mov ecx, dword [eax]
push dword [esi + 0x10b4]
push eax
call dword [ecx + 0x28]
add esp, 8
cmp dword [esi + 0x10b4], 2
jne 0x45434a
mov byte [esi + 0x135], 1
push esi
push 0x457075
push 0x64
call fcn.004595b4
add esp, 0xc
mov dword [esi + 0x138], eax
jmp 0x45434a
mov eax, dword [esi + 0x128]
dec eax
mov ecx, esi
xor edx, edx
push 1
push 0xffffffffffffffff
push eax
call fcn.00456918
add esp, 0xc
jmp 0x452fd4
mov byte [esi + 0x34], 1
mov dword [esi + 0x38], edi
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
jne case.0x4534de.92
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
add esp, 8
cmp dword [esi + 0xe20], 0
mov edx, dword [esp + 0x14]
je 0x452a36
mov edi, dword [esi + 0x94]
mov ecx, dword [esi + 0x98]
mov ebp, dword [esi + 0x12c]
xor eax, eax
cmp ebp, ecx
sete byte [esp + 0x1c]
xor ebx, ebx
cmp dword [esi + 0xe38], ecx
setg bl
xor edx, edx
cmp dword [esi + 0xe34], edi
setg dl
cmove edx, ebx
mov ebx, dword [esp + 4]
cmp dl, 1
mov edx, dword [esp + 0x14]
jne 0x452a36
mov dl, byte [esp + 0x1c]
mov al, dl
add eax, edi
lea edx, [ecx + 1]
cmp ebp, ecx
mov ecx, 0
cmove edx, ecx
xor ecx, ecx
cmp dword [esi + 0xe30], edx
setl cl
xor edx, edx
cmp dword [esi + 0xe2c], eax
setl dl
cmovne ecx, edx
mov edx, dword [esp + 0x14]
cmp cl, 1
jne 0x452a36
mov dword [esi + 0xe20], 0
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
jmp 0x452a36
test edx, edx
jle 0x4541a1
dec edx
mov dword [esi + 0x94], edx
jmp 0x4541a1
cmp ecx, 0x3d63
je 0x4548a4
cmp ecx, 0x3e63
jne case.0x4534de.92
test byte [esi + 1], 0x40
je 0x453bf6
mov eax, dword [esi + 0x1058]
test eax, eax
je case.0x4534de.92
push 0
push 0xb
push str.e__0_136_0c
jmp 0x4556be
cmp ecx, 0x169
je case.0x453559.105
cmp ecx, 0x16c
jne case.0x4534de.92
test byte [esi], 2
je 0x453bf6
cmp dword [esi + 0x208], 0
jle case.0x4534de.92
mov edx, dword [esi + 0x188]
mov ecx, esi
push 0
push eax
call fcn.0045908a
add esp, 8
cmp dword [esi + 0x208], 2
jl case.0x4534de.92
mov edi, 0x63
lea ebx, [edi - 0x61]
mov edx, dword [esi + edi*4]
mov ecx, esi
push 0
push dword [esi + 0x20c]
call fcn.0045908a
add esp, 8
cmp ebx, dword [esi + 0x208]
mov ebx, dword [esp + 4]
jge case.0x4534de.92
inc edi
jmp 0x4544ba
test byte [esi], 2
je 0x453bf6
cmp dword [esi + 0x208], 1
jne case.0x4534de.92
mov eax, dword [esi + 0x188]
cmp eax, 5
jne 0x45572c
push 0x89
push dword [esi + 0x106c]
call fcn.00403342
add esp, 8
cmp byte [eax], 0
je 0x455726
mov edi, eax
mov byte [esi + 0xe4], 1
cmp dword [esi + 0x20c], 0
sete byte [esi + 0xe5]
mov dword [esi + 0xe8], 0
push dword [esp + 0x2c]
call fcn.0045b226
add esp, 4
push edi
call fcn.00470297
add esp, 4
mov dword [esi + 0x100], eax
jmp case.0x4534de.92
cmp dword [esi + 0x208], 1
jg 0x45457a
mov dword [esi + 0x18c], 0
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x128]
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esi + 0x12c]
mov dword [esi + 0x188], eax
mov edx, dword [esi + 0x18c]
cmp edx, ecx
cmova edx, ecx
mov dword [esi + 0x18c], edx
movzx ebp, byte [esi + 0xac]
mov edi, ebp
add edi, ebp
xor ecx, ecx
mov ebx, 0
test ebp, ebp
je 0x4545c4
mov ebx, dword [esi + 0xa4]
sub eax, 1
cmovb eax, ecx
add eax, ebx
sub edx, 1
cmovb edx, ecx
mov ecx, esi
push edi
push eax
call fcn.0045848f
add esp, 8
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
mov ebx, dword [esp + 4]
jne case.0x4534de.92
jmp 0x45435a
cmp ecx, 0x168
jne case.0x4534de.92
test byte [esi], 2
je 0x453bf6
cmp dword [esi + 0x208], 0
jle case.0x4534de.92
mov edx, dword [esi + 0x188]
mov ecx, esi
push 1
push eax
call fcn.0045908a
add esp, 8
cmp dword [esi + 0x208], 2
jl case.0x4534de.92
mov edi, 0x63
lea ebx, [edi - 0x61]
mov edx, dword [esi + edi*4]
mov ecx, esi
push 1
push dword [esi + 0x20c]
call fcn.0045908a
add esp, 8
cmp ebx, dword [esi + 0x208]
mov ebx, dword [esp + 4]
jge case.0x4534de.92
inc edi
jmp 0x454642
test byte [esi + 1], 0x10
je 0x453bf6
mov byte [esi + 0xc9], 0
mov ecx, esi
call fcn.0044f669
cmp dword [esi + 0x188], 0
mov eax, dword [esi + 0x40]
je 0x4556a5
or eax, 0x200000
jmp 0x4556aa
test byte [esi + 1], 0x10
je 0x453bf6
cmp dword [esi + 0x188], 0
setne byte [esi + 0xc9]
jmp 0x452f3b
test byte [esi + 1], 0x10
je 0x453bf6
mov ecx, dword [esi + 0x188]
cmp ecx, 0xf
ja case.0x4534de.92
mov eax, ecx
and eax, 7
movsx eax, byte [eax + 0x49fa64]
and ecx, 8
or ecx, eax
mov eax, dword [esi + 0x40]
mov edi, 0xfffffe00
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 esi, dword [esp + 8]
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x18]
mov dword [edx + 0x10], ecx
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x10]
movups xmmword [edx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x4534de.92
and eax, 0x3ffff
jmp 0x4547f1
test byte [esi + 1], 0x10
je 0x453bf6
mov eax, dword [esi + 0x188]
cmp eax, 0xf
ja case.0x4534de.92
mov ecx, eax
and ecx, 7
movsx ecx, byte [ecx + 0x49fa64]
and eax, 8
or eax, ecx
shl eax, 9
mov ecx, dword [esi + 0x40]
mov edi, 0xfffc01ff
and ecx, edi
or ecx, eax
mov dword [esi + 0x40], ecx
mov dword [esi + 0x4c], 0
mov edx, dword [esi + 0x3c]
and edx, edi
or edx, eax
mov dword [esi + 0x3c], edx
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x18]
mov dword [edx + 0x10], eax
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x10]
movups xmmword [edx], xmm0
cmp byte [esi + 0xc6], 0
je case.0x4534de.92
and ecx, 0x3ffff
mov dword [esi + 0x70], ecx
jmp 0x454012
test byte [esi + 1], 0x10
je 0x453bf6
cmp dword [esi + 0x188], 0
sete byte [esi + 0xc6]
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
jne case.0x4534de.92
mov eax, dword [esi + 0x40]
mov ecx, 0x3ffff
and eax, ecx
mov dword [esi + 0x70], eax
jmp 0x453076
mov eax, dword [esi + 0x188]
cmp eax, 0x29
jle 0x455621
cmp eax, 0x3c
jg 0x455642
cmp eax, 0x2a
je 0x4556c4
cmp eax, 0x32
je 0x45576c
jmp 0x4556ed
test byte [esi + 1], 1
je 0x453bf6
cmp dword [esi + 0x208], 1
jg case.0x4534de.92
cmp byte [esi + 0x10f0], 0
mov edx, dword [esp + 0x14]
jne 0x454400
mov byte [esi + 0x20a8], 1
mov eax, dword [esi + 0x188]
test eax, eax
jne 0x454867
mov eax, dword [esi + 0x10d4]
mov dword [esi + 0x20ac], eax
mov eax, dword [esi + 0x128]
mov dword [esi + 0x20b0], eax
cmp byte [esi + 0x1071], 0
jne 0x454400
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
mov edx, dword [esp + 0x1c]
add esp, 8
jmp 0x454400
test byte [esi + 1], 0x10
je 0x453bf6
mov eax, dword [esi + 0x188]
cmp eax, 2
je 0x455700
cmp eax, 1
je 0x455713
test eax, eax
jne case.0x4534de.92
mov byte [esi + 0xc4], 0
jmp case.0x4534de.92
test byte [esi], 8
je 0x453bf6
mov eax, dword [esi + 0x12c]
mov edx, dword [esi + 0x188]
cmp edx, eax
cmova edx, eax
mov dword [esi + 0x188], edx
test edx, edx
mov eax, 1
cmove edx, eax
jmp 0x454b00
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x128]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
test eax, eax
mov ecx, 1
cmove eax, ecx
mov edi, dword [esi + 0x94]
sub edi, eax
mov edx, dword [esi + 0x98]
mov ecx, esi
jmp 0x4549e1
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
mov edx, dword [esi + 0x98]
test eax, eax
mov ecx, 1
cmove eax, ecx
sub edx, eax
mov ecx, esi
push 1
push dword [esi + 0x94]
jmp 0x454f26
test byte [esi + 1], 0x20
je 0x453bf6
mov eax, dword [esi + 0x128]
mov edi, dword [esi + 0x188]
cmp edi, eax
cmova edi, eax
mov dword [esi + 0x188], edi
test edi, edi
mov eax, 1
cmove edi, eax
add edi, dword [esi + 0x94]
jmp 0x4549dd
test byte [esi + 1], 0x20
je 0x453bf6
mov eax, dword [esi + 0x188]
mov edi, dword [esi + 0x94]
mov ecx, dword [esi + 0x128]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
test eax, eax
mov ecx, 1
cmove eax, ecx
sub edi, eax
mov ecx, esi
xor edx, edx
push 1
push edi
jmp 0x454f26
mov eax, dword [esi + 0x188]
cmp eax, 3
jne 0x4555e7
cmp byte [esi + 0x10f2], 0
jne 0x455608
push esi
call fcn.0044f75e
add esp, 4
jmp 0x455608
mov eax, dword [esi + 0x188]
inc eax
xor edi, edi
cmp eax, 3
cmovbe edi, eax
mov eax, edi
and eax, 1
and edi, 2
shr edi, 1
xor edx, edx
inc edx
mov ecx, esi
push eax
push edi
call fcn.00456690
jmp 0x454f2b
test byte [esi], 8
je 0x453bf6
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x128]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0xa8]
cmp edx, edi
jg 0x454f2e
test eax, eax
mov ecx, 1
cmove eax, ecx
neg eax
mov ecx, esi
push 0
jmp 0x454ac5
test byte [esi], 8
je 0x453bf6
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x128]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0xa8]
cmp edx, edi
jg 0x454f2e
test eax, eax
mov ecx, 1
cmove eax, ecx
mov ecx, esi
push 1
push eax
push edi
call fcn.00456918
add esp, 0xc
jmp 0x454f2e
test byte [esi], 8
je 0x453bf6
mov eax, dword [esi + 0x12c]
mov edx, dword [esi + 0x188]
cmp edx, eax
cmova edx, eax
mov dword [esi + 0x188], edx
test edx, edx
mov eax, 1
cmove edx, eax
neg edx
mov ecx, esi
call fcn.00458d1b
jmp 0x454f2e
mov ecx, dword [esi + 0x128]
mov eax, dword [esi + 0x188]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
test byte [esi + 1], 0x10
je 0x453bf6
test eax, eax
mov ecx, 1
cmove eax, ecx
mov edx, dword [esi + 0xa4]
mov ecx, esi
push 1
push eax
push dword [esi + 0xa8]
call fcn.00456918
add esp, 0xc
mov byte [esi + 0xae], 0
jmp 0x454f2e
mov ecx, dword [esi + 0x128]
mov eax, dword [esi + 0x188]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
test byte [esi + 1], 0x10
je 0x453bf6
test eax, eax
mov ecx, 1
cmove eax, ecx
neg eax
mov edx, dword [esi + 0xa4]
mov ecx, esi
push 1
push eax
push dword [esi + 0xa8]
call fcn.00456918
add esp, 0xc
jmp 0x4539b2
test byte [esi], 1
je 0x453bf6
mov ebx, dword [esi + 0x188]
mov eax, dword [esi + 0x12c]
cmp ebx, eax
cmova ebx, eax
mov dword [esi + 0x188], ebx
test ebx, ebx
mov eax, 1
cmove ebx, eax
mov edx, dword [esi + 0x94]
mov ebp, dword [esi + 0x98]
mov ecx, esi
push 1
push 0x12d1
call fcn.0044f822
add esp, 8
mov edi, eax
mov al, byte [eax + 0x18]
cmp al, byte [esi + 0x10a4]
je 0x454c0d
mov ecx, esi
mov edx, edi
call fcn.00456d7b
mov al, byte [esi + 0x10a4]
mov byte [edi + 0x18], al
mov dword [esp + 0x28], edi
mov edi, dword [esi + 0x12c]
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
sub edi, edx
cmp ebx, edi
cmovle edi, ebx
mov ecx, esi
mov ebx, edx
mov dword [esp + 0x1c], eax
push eax
call fcn.00456beb
add esp, 4
mov edx, dword [esi + 0x98]
add edx, edi
mov ecx, esi
push dword [esi + 0x94]
call fcn.00456beb
add esp, 4
mov edx, dword [esi + 0xe34]
mov ecx, dword [esi + 0xe38]
xor eax, eax
cmp ecx, dword [esi + 0x98]
setg al
xor ecx, ecx
cmp edx, dword [esi + 0x94]
setg cl
cmove ecx, eax
cmp cl, 1
jne 0x454cb5
add ebx, edi
xor eax, eax
cmp dword [esi + 0xe30], ebx
setl al
xor ecx, ecx
mov edx, dword [esp + 0x1c]
cmp dword [esi + 0xe2c], edx
setl cl
cmove ecx, eax
cmp cl, 1
jne 0x454cb5
mov dword [esi + 0xe20], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x20]
movups xmmword [eax], xmm0
test edi, edi
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
je 0x454ce0
lea ecx, [ebp + 1]
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov edx, ebp
push eax
mov ebp, eax
call fcn.00456cac
mov eax, ebp
add esp, 4
mov ebp, dword [esp + 0x1c]
dec edi
jne 0x454cc1
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
mov ebx, dword [esp + 4]
jne case.0x4534de.92
jmp 0x45435a
test byte [esi + 1], 0x40
je 0x453bf6
mov edx, dword [esi + 0x188]
mov eax, dword [esi + 0x12c]
cmp edx, eax
cmova edx, eax
mov dword [esi + 0x188], edx
test edx, edx
mov ecx, dword [esi + 0x98]
mov eax, 1
cmove edx, eax
mov eax, ecx
test edx, edx
jle 0x454d77
mov eax, ecx
test eax, eax
jle 0x454d77
lea edi, [eax - 1]
mov dword [esi + 0x98], edi
cmp eax, 1
mov eax, 0
je 0x454d6d
mov ebx, dword [esi + 0xe18]
cmp byte [ebx + edi], 0
jne 0x454d6b
lea eax, [edi - 1]
mov dword [esi + 0x98], eax
cmp edi, 2
mov edi, eax
jge 0x454d53
jmp 0x454d6d
mov eax, edi
lea edi, [edx - 1]
cmp edx, 1
mov edx, edi
jg 0x454d36
mov edx, dword [esi + 0x94]
xor ebx, ebx
cmp dword [esi + 0xe38], ecx
setg bl
xor ecx, ecx
cmp dword [esi + 0xe34], edx
setg cl
cmove ecx, ebx
cmp cl, 1
mov ebx, dword [esp + 4]
jne case.0x4534de.92
xor ecx, ecx
cmp dword [esi + 0xe30], eax
setl cl
xor eax, eax
cmp dword [esi + 0xe2c], edx
setl al
cmove eax, ecx
cmp al, 1
jne case.0x4534de.92
mov dword [esi + 0xe20], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x20]
jmp 0x453d42
test byte [esi + 1], 0x20
je 0x453bf6
mov edx, dword [esi + 0x188]
mov eax, dword [esi + 0x12c]
cmp edx, eax
cmova edx, eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x188], edx
test edx, edx
mov ecx, 1
cmove edx, ecx
add edx, dword [esi + 0x98]
jmp 0x454f21
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x188]
imul eax, dword [esi + 0x128]
cmp ecx, eax
cmovbe eax, ecx
mov dword [esi + 0x188], eax
mov edx, dword [esi + 0x1068]
test edx, edx
je case.0x4534de.92
test eax, eax
je case.0x4534de.92
mov ecx, esi
call fcn.00458522
cmp dword [esi + 0x188], 2
jb case.0x4534de.92
mov edi, 2
mov edx, dword [esi + 0x1068]
mov ecx, esi
call fcn.00458522
cmp edi, dword [esi + 0x188]
jae case.0x4534de.92
inc edi
jmp 0x454e63
test byte [esi], 2
je 0x453bf6
mov edi, dword [esi + 0x1058]
test edi, edi
jne 0x4534fc
jmp case.0x4534de.92
test byte [esi + 1], 0x20
je 0x453bf6
mov ecx, dword [esi + 0x128]
mov eax, dword [esi + 0x188]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x188], eax
movzx ebx, byte [esi + 0xac]
lea edi, [ebx + ebx]
xor ecx, ecx
mov edx, 0
test ebx, ebx
je 0x454ed7
mov edx, dword [esi + 0xa4]
sub eax, 1
cmovb eax, ecx
add eax, edx
mov edx, dword [esi + 0x98]
jmp 0x4545d2
test byte [esi + 1], 0x20
je 0x453bf6
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x128]
cmp eax, ecx
cmova eax, ecx
mov edx, dword [esi + 0x98]
mov dword [esi + 0x188], eax
test eax, eax
mov ecx, 1
cmove eax, ecx
add eax, dword [esi + 0x94]
mov ecx, esi
push 1
push eax
call fcn.0045848f
add esp, 8
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1071], 0
jne case.0x4534de.92
jmp 0x45435a
test byte [esi], 2
je 0x453bf6
cmp dword [esi + 0x208], 1
jne case.0x4534de.92
mov eax, dword [esi + 0x188]
test eax, eax
je 0x45574e
cmp eax, 3
jne case.0x4534de.92
cmp dword [esi + 0x12c], 0
jle case.0x4534de.92
xor eax, eax
mov ecx, dword [esi + 0xe18]
mov byte [ecx + eax], 0
inc eax
cmp eax, dword [esi + 0x12c]
jl 0x454f83
jmp case.0x4534de.92
mov eax, dword [esi + 0x208]
test eax, eax
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 8]
jle 0x4555b7
xor edi, edi
mov ecx, dword [esi + edi*4 + 0x188]
cmp ecx, 0x6b
ja case.0x454fc3.3
jmp dword [ecx*4 + 0x49fe60]
mov byte [esi + 0x48], 0
mov ecx, 0xfffffe00
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x188]
add edx, 0xffffffe2
jmp 0x455040
mov byte [esi + 0x4c], 0
mov ecx, 0xfffc01ff
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x188]
shl edx, 9
add edx, 0xffffb000
jmp 0x455040
mov byte [esi + 0x48], 0
mov ecx, 0xfffffe00
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x188]
add edx, 0xffffffae
jmp 0x455040
mov byte [esi + 0x4c], 0
mov ecx, 0xfffc01ff
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x188]
shl edx, 9
add edx, 0xffff4800
or edx, ecx
mov dword [esi + 0x40], edx
mov edx, dword [esp + 8]
inc edi
cmp edi, eax
jl 0x454fb3
jmp 0x4555b7
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x60]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], edx
jmp 0x455045
test byte [esi], 4
je 0x4551d6
mov ecx, dword [esp + 0xc]
or byte [ecx + 2], 4
jmp case.0x454fc3.3
test byte [esi + 1], 0x40
je 0x4551d6
mov ecx, dword [esp + 0xc]
or byte [ecx + 3], 1
jmp case.0x454fc3.3
test byte [esi], 4
je 0x4551d6
mov ecx, dword [esp + 0xc]
or byte [ecx + 2], 0x20
jmp case.0x454fc3.3
test byte [esi + 1], 0x10
je 0x4551d6
mov byte [esi + 0xc9], 0
or byte [esi + 0x42], 0x20
mov ecx, esi
call fcn.0044f669
mov edx, dword [esp + 8]
mov eax, dword [esi + 0x208]
jmp case.0x454fc3.3
mov ecx, dword [esp + 0xc]
or byte [ecx + 2], 0x10
jmp case.0x454fc3.3
mov ecx, dword [esp + 0xc]
or byte [ecx + 3], 2
jmp case.0x454fc3.3
test byte [esi + 1], 0x10
je 0x4551d6
cmp byte [esi + 0x10ef], 0
jne case.0x454fc3.3
mov dword [esi + 0xcc], 0
jmp case.0x454fc3.3
test byte [esi + 1], 0x10
je 0x4551d6
cmp byte [esi + 0x10ef], 0
jne case.0x454fc3.3
mov dword [esi + 0xcc], 1
jmp case.0x454fc3.3
test byte [esi + 1], 0x10
je 0x4551d6
cmp byte [esi + 0x10ef], 0
jne case.0x454fc3.3
mov dword [esi + 0xcc], 2
jmp case.0x454fc3.3
test byte [esi + 1], 0x40
je 0x4551d6
test byte [esi], 4
je 0x4551d6
mov ecx, dword [esp + 0xc]
or byte [ecx + 2], 8
jmp case.0x454fc3.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4551d6
mov ecx, dword [esp + 0xc]
and dword [ecx], 0xfefbffff
jmp case.0x454fc3.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4551d6
mov ecx, dword [esp + 0xc]
and byte [ecx + 2], 0xf7
jmp case.0x454fc3.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4551d6
mov ecx, dword [esp + 0xc]
and byte [ecx + 2], 0xdf
jmp case.0x454fc3.3
movzx ecx, word [esi]
test ecx, 0x4010
je 0x4551d6
mov ecx, dword [esp + 0xc]
and byte [ecx + 2], 0xef
jmp case.0x454fc3.3
mov ecx, dword [esp]
mov dword [ecx], 0
jmp case.0x454fc3.3
mov ecx, dword [esp + 0xc]
and byte [ecx + 3], 0xfd
jmp case.0x454fc3.3
lea ecx, [edi + 2]
cmp ecx, eax
jge 0x4552a4
cmp dword [esi + edi*4 + 0x18c], 5
jne 0x4552a4
mov edx, 0xfffffe00
and edx, dword [esi + 0x40]
mov dword [esi + 0x40], edx
movzx edi, byte [esi + edi*4 + 0x190]
or edi, edx
mov edx, dword [esp + 8]
mov dword [esi + 0x40], edi
mov dword [esi + 0x48], 0
jmp 0x4552a6
mov byte [esi + 0x48], 0
mov ecx, 0xfffffe00
and ecx, dword [esi + 0x40]
or ecx, 0x100
jmp 0x45529c
lea ecx, [edi + 2]
cmp ecx, eax
jge 0x455304
cmp dword [esi + edi*4 + 0x18c], 5
jne 0x455304
mov edx, 0xfffc01ff
and edx, dword [esi + 0x40]
mov dword [esi + 0x40], edx
mov ebx, dword [esi + edi*4 + 0x190]
movzx edi, bl
mov ebx, dword [esp + 4]
shl edi, 9
or edi, edx
mov edx, dword [esp + 8]
mov dword [esi + 0x40], edi
mov dword [esi + 0x4c], 0
jmp 0x455306
mov byte [esi + 0x4c], 0
mov ecx, 0xfffc01ff
and ecx, dword [esi + 0x40]
or ecx, 0x20400
mov dword [esi + 0x40], ecx
jmp case.0x454fc3.3
mov ecx, edi
lea edi, [ecx + 4]
cmp edi, eax
jge 0x45535c
cmp dword [esi + ecx*4 + 0x18c], 2
jne 0x45535c
mov byte [esi + 0x48], 1
mov ebx, dword [esi + ecx*4 + 0x190]
xor edx, edx
mov ebp, 0x100
cmp ebx, ebp
cmovae ebx, edx
mov byte [esi + 0x49], bl
mov ebx, dword [esi + ecx*4 + 0x194]
cmp ebx, ebp
cmovae ebx, edx
mov byte [esi + 0x4a], bl
mov ebx, dword [esp + 4]
mov ecx, dword [esi + ecx*4 + 0x198]
cmp ecx, ebp
mov ebp, dword [esp + 0x18]
cmovb edx, ecx
mov byte [esi + 0x4b], dl
jmp 0x455045
mov ecx, edi
lea edi, [ecx + 4]
cmp edi, eax
jge 0x45535c
cmp dword [esi + ecx*4 + 0x18c], 2
jne 0x45535c
mov byte [esi + 0x4c], 1
mov ebx, dword [esi + ecx*4 + 0x190]
xor edx, edx
mov ebp, 0x100
cmp ebx, ebp
cmovae ebx, edx
mov byte [esi + 0x4d], bl
mov ebx, dword [esi + ecx*4 + 0x194]
cmp ebx, ebp
cmovae ebx, edx
mov byte [esi + 0x4e], bl
mov ebx, dword [esp + 4]
mov ecx, dword [esi + ecx*4 + 0x198]
cmp ecx, ebp
mov ebp, dword [esp + 0x18]
cmovb edx, ecx
mov byte [esi + 0x4f], dl
jmp 0x455045
mov edi, ecx
jmp case.0x454fc3.3
mov eax, dword [esi + 0x1058]
test eax, eax
je case.0x4534de.92
mov ecx, dword [esi + 0x188]
cmp ecx, 5
je 0x4556b5
cmp ecx, 6
jne case.0x4534de.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 edi, [esp + 0x50]
push edi
call fcn.00403e10
add esp, 0x10
push edi
call fcn.004855c0
add esp, 4
push 0
push eax
push edi
push dword [esi + 0x1058]
jmp 0x45350e
test byte [esi], 2
je 0x453bf6
mov edx, dword [esi + 0x208]
cmp edx, 2
jg case.0x4534de.92
mov edi, dword [esi + 0x128]
mov eax, dword [esi + 0x188]
cmp eax, edi
cmova eax, edi
mov dword [esi + 0x188], eax
mov ebx, dword [esi + 0x18c]
cmp ebx, edi
cmova ebx, edi
mov dword [esi + 0x18c], ebx
xor ecx, ecx
sub eax, 1
cmovb eax, ecx
test ebx, ebx
cmove ebx, edi
cmp edx, 2
cmovne ebx, edi
dec ebx
lea edx, [edi - 1]
cmp ebx, edi
cmovl edx, ebx
mov ebx, dword [esp + 4]
cmp edx, eax
jle case.0x4534de.92
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa8], edx
mov dword [esi + 0x98], ecx
cmp byte [esi + 0xac], 0
cmove eax, ecx
mov dword [esi + 0x94], eax
jmp 0x454f2e
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 + 0x54], eax
mov dword [esi + 0x50], ecx
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 + 0x158]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd0], eax
jmp case.0x4534de.92
mov eax, dword [esi + 0x208]
cmp eax, 1
jg 0x45566d
mov ecx, dword [esi + 0x188]
lea edx, [ecx - 1]
cmp edx, 0x17
jb 0x455665
test byte [esi + 1], 1
je 0x453bf6
cmp byte [esi + 0x10f0], 0
mov edx, dword [esp + 0x14]
jne 0x45553b
test ecx, ecx
mov byte [esi + 0x20a8], 1
mov eax, 0x18
cmovne eax, ecx
mov ecx, dword [esi + 0x12c]
mov dword [esi + 0x20ac], ecx
mov dword [esi + 0x20b0], eax
cmp byte [esi + 0x1071], 0
jne 0x45553b
mov byte [esi + 0x1071], 1
push esi
push 0x457036
call fcn.0040164e
mov edx, dword [esp + 0x1c]
add esp, 8
mov dword [esi + 0xe20], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x20]
movups xmmword [eax], xmm0
jmp 0x452a36
mov ecx, esi
xor edx, edx
call fcn.00458be3
jmp 0x454f2e
test byte [esi], 2
je 0x453bf6
mov eax, dword [esi + 0x1058]
test eax, eax
je case.0x4534de.92
mov ecx, dword [esi + 0x188]
cmp ecx, 1
ja case.0x4534de.92
movups xmm0, xmmword [str.e_2_1_1_112_112_1_0x]
movups xmmword [esp + 0x44], xmm0
movsd xmm0, qword [0x4a772f]
movsd qword [esp + 0x51], xmm0
add cl, 0x32
mov byte [esp + 0x46], cl
push 0
push 0x14
lea ecx, [esp + 0x4c]
push ecx
jmp 0x4556be
mov eax, dword [edx + 0x10]
mov dword [ebp + 0x10], eax
movups xmm0, xmmword [edx]
movups xmmword [ebp], xmm0
cmp byte [esi + 0xc6], 0
je case.0x4534de.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.0x4534de.92
inc eax
xor ecx, ecx
cmp eax, 3
cmova eax, ecx
mov edi, eax
and edi, 1
and eax, 2
shr eax, 1
mov ecx, esi
xor edx, edx
push edi
push eax
call fcn.00456690
add esp, 8
cmp byte [esi + 0x10fd], 0
je 0x454f2e
mov dword [esi + 0x10], 0
jmp 0x454f2e
test eax, eax
je 0x455637
cmp eax, 0x28
je 0x4556cf
cmp eax, 0x29
jne 0x4556ed
mov dword [esi], 0xffff
jmp case.0x4534de.92
cmp eax, 0x3e
je 0x4556da
cmp eax, 0x3d
jne 0x4556ed
mov eax, dword [esi]
mov ecx, 0xfffffe00
and eax, ecx
or eax, 0xf
jmp 0x4556e6
test eax, eax
jle case.0x4534de.92
mov ecx, dword [esi + 0x188]
dec ecx
cmp ecx, 0x16
ja case.0x4534de.92
test byte [esi + 1], 0x40
je 0x453bf6
cmp ecx, 0x14
ja case.0x4534de.92
jmp dword [ecx*4 + 0x49fe0c]
mov word [esi + 0x20b6], 1
jmp 0x454f35
and eax, 0xffdfffff
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
jmp case.0x4534de.92
push 0
push 4
push str.e_0n
push eax
jmp 0x45350e
mov dword [esi], 0x1001
jmp case.0x4534de.92
and dword [esi], 0x1ff
jmp case.0x4534de.92
mov eax, dword [esi]
mov ecx, 0xfffffe00
and eax, ecx
or eax, 0x1f
mov dword [esi], eax
jmp case.0x4534de.92
lea ecx, [eax - 0x3d]
cmp ecx, 8
ja 0x455763
or dword [esi], 0x1ff
jmp case.0x4534de.92
mov al, 1
mov byte [esi + 0x143], al
mov byte [esi + 0xc4], al
jmp case.0x4534de.92
mov byte [esi + 0x143], 0
mov byte [esi + 0xc4], 1
jmp case.0x4534de.92
mov eax, dword [esi + 0x188]
cmp eax, 4
jne case.0x4534de.92
cmp byte [esi + 0xe4], 0
je case.0x4534de.92
mov ecx, esi
call fcn.0044f59e
jmp case.0x4534de.92
mov eax, dword [esi + 0xe18]
mov ecx, dword [esi + 0x98]
mov byte [eax + ecx], 0
jmp case.0x4534de.92
cmp eax, 0x32
jne case.0x4534de.92
mov dword [esi + 0xa16], 0x3f5b1b
cmp dword [esi + 0x208], 2
jl 0x4557d1
xor edi, edi
test edi, edi
je 0x45579b
push dword [esp + 0x24]
call fcn.004855c0
add esp, 4
mov word [esi + eax + 0xa16], 0x3b
push dword [esi + edi*4 + 0x18c]
push 0x4a7ad6
lea ebp, [esp + 0x4c]
push ebp
call fcn.00403e10
add esp, 0xc
push ebp
push dword [esp + 0x28]
call fcn.00485040
add esp, 8
lea eax, [edi + 1]
add edi, 2
cmp edi, dword [esi + 0x208]
mov edi, eax
jl 0x455781
push dword [esp + 0x24]
call fcn.004855c0
add esp, 4
mov word [esi + eax + 0xa16], 0x63
jmp case.0x4534de.92
mov word [esi + 0x20b6], 0x101
jmp 0x454f35
cmp eax, 3
jl case.0x4534de.92
cmp byte [esi + 0x10f0], 0
jne case.0x4534de.92
mov byte [esi + 0x209c], 1
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x190]
mov dword [esi + 0x20a0], eax
mov dword [esi + 0x20a4], ecx
jmp 0x454f35
mov word [esi + 0x20b4], 0x101
jmp 0x454f35
mov word [esi + 0x20b4], 1
jmp 0x454f35
mov byte [esi + 0x20be], 1
jmp 0x454f35
cmp eax, 3
jl case.0x4534de.92
cmp byte [esi + 0x10f0], 0
jne case.0x4534de.92
mov byte [esi + 0x20a8], 1
mov eax, dword [esi + 0x190]
test eax, eax
jne 0x45588d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10d4]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x20ac], eax
mov eax, dword [ecx + 0x18c]
test eax, eax
jne 0x4558ab
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10d0]
mov esi, dword [esp + 0x10]
mov dword [esi + 0x20b0], eax
jmp 0x4545e5
cmp eax, 2
jl case.0x4534de.92
mov byte [esi + 0x20b8], 1
cmp dword [esi + 0x18c], 0
setne byte [esi + 0x20b9]
jmp 0x454f35
mov eax, dword [esi + 0x1058]
test eax, eax
je case.0x4534de.92
cmp byte [esi + 0x1130], 0
mov ecx, str.e_1t
mov edx, str.e_2t
cmove edx, ecx
push 0
push 4
push edx
jmp 0x4556be
cmp dword [esi + 0x1058], 0
je case.0x4534de.92
lea edi, [esp + 0x84]
push dword [esi + 0x2090]
push dword [esi + 0x208c]
push str.e_3__u__ut
jmp 0x45597c
cmp dword [esi + 0x1058], 0
je case.0x4534de.92
lea edi, [esp + 0x84]
push dword [esi + 0x2094]
push dword [esi + 0x2098]
push str.e_4__u__ut
jmp 0x45597c
cmp dword [esi + 0x1058], 0
je case.0x4534de.92
lea edi, [esp + 0x84]
push dword [esi + 0x12c]
push dword [esi + 0x128]
push str.e_8__d__dt
push edi
call fcn.00403e10
add esp, 0x10
jmp 0x4553b4
mov ebp, dword [esi + 0x1058]
test ebp, ebp
je case.0x4534de.92
mov eax, dword [esi + 0x10f8]
test eax, eax
je case.0x4534de.92
mov edi, 0x4b68fd
cmp eax, 2
jne 0x4559ba
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x112c]
push edi
call fcn.004855c0
add esp, 4
mov esi, eax
xor ebx, ebx
push ebx
push 3
push 0x4b0aa0
jmp 0x455a16
mov ebp, dword [esi + 0x1058]
test ebp, ebp
je case.0x4534de.92
mov eax, dword [esi + 0x10f8]
test eax, eax
je case.0x4534de.92
mov edi, 0x4b68fd
cmp eax, 2
jne 0x455a01
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x1128]
push edi
call fcn.004855c0
add esp, 4
mov esi, eax
xor ebx, ebx
push ebx
push 3
push 0x4ac62c
push ebp
call fcn.0040f0e5
add esp, 0x10
push ebx
push esi
push edi
mov esi, dword [esp + 0x1c]
push dword [esi + 0x1058]
call fcn.0040f0e5
add esp, 0x10
push ebx
push 2
push 0x4b0025
push dword [esi + 0x1058]
call fcn.0040f0e5
add esp, 0x10
mov ebx, dword [esp + 4]
jmp case.0x4534de.92
mov ecx, esi
call fcn.00457bde
cmp byte [esi + 0x10e1], 0
je 0x455a76
mov eax, dword [esi + 0x1060]
test eax, eax
je 0x455a76
push eax
call fcn.0040f8a8
add esp, 4
mov ecx, dword [esp + 0x1d4]
xor ecx, esp
call fcn.00475526
add esp, 0x1d8
pop esi
pop edi
pop ebx
pop ebp
ret