Function at 0x411dd0
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x428
push ebx
push ebp
mov ebp, dword [esp + 0x448]
push esi
xor esi, esi
push edi
mov dword [esp + 0x14], esi
mov byte [ebp], 0
mov byte [esp + 0x38], 0
call fcn.00407b40
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x448]
push eax
call fcn.0046c0a0
mov edi, eax
add esp, 4
cmp edi, esi
mov dword [esp + 0x10], edi
je 0x413f6b
mov ebx, dword [esp + 0x454]
mov esi, dword [0x56c1a4]
mov ecx, ebx
and ecx, 1
mov dword [esp + 0x18], ecx
jne 0x411edd
mov ecx, dword [edi + 4]
push 0x40
push ecx
call fcn.004680f0
add esp, 4
push eax
push 0x606480
call fcn.005289b0
mov edx, dword [edi + 0x38]
push edx
call fcn.004680f0
add esp, 0x10
mov dword [0x60633c], eax
test eax, eax
je 0x411e70
cmp byte [eax], 0
jne 0x411e70
mov dword [0x60633c], 0
cmp byte [ebp], 0
je 0x411ea6
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x56c1a4]
mov eax, dword [esp + 0x44c]
push eax
push 0x5dc3
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s:_d
add ecx, ebp
push ecx
call esi
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp byte [ebp], 0
je 0x411f1b
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x56c1a4]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
test bl, 2
je 0x411fb7
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x448]
xor ecx, ecx
push eax
mov cl, byte [edx + 0x338]
push ecx
call fcn.0046b960
add esp, 8
test eax, eax
je 0x411f5b
push eax
push 0x5e1d
call fcn.004680f0
add esp, 4
push eax
push str._3_s_d_A
jmp 0x411f6b
push 0x5e1d
call fcn.004680f0
push eax
push str._3_s___A
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call esi
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x56c1a4]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 8]
cmp eax, 2
mov dword [esp + 0x30], eax
jne 0x4121ff
test ecx, ecx
jne 0x412004
push 0x4e33
call fcn.004680f0
add esp, 4
push eax
push 0x5e01
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573424
add ecx, ebp
push ecx
call esi
mov edi, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x14], 0
call fcn.00407b40
mov ecx, eax
xor eax, eax
mov ax, word [ecx + 0x379]
test eax, eax
je 0x412034
push eax
call fcn.0046ab90
add esp, 4
test eax, eax
je 0x412034
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0xc]
test eax, 0x8000000
mov dword [esp + 0x24], eax
je 0x412049
mov edx, 0x5dcf
jmp 0x412091
test eax, 0x1000000
je 0x412057
mov edx, 0x5dd0
jmp 0x412091
test eax, 0x800000
je 0x412065
mov edx, 0x5dd1
jmp 0x412091
test eax, 0x2000000
je 0x412073
mov edx, 0x5dd2
jmp 0x412091
test eax, 0x4000000
je 0x412081
mov edx, 0x5dd3
jmp 0x412091
test eax, 0x10400000
je 0x412122
mov edx, 0x5dd4
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4120cd
mov edi, 0x5733fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x56c1a4]
mov ecx, dword [esp + 0x14]
push edx
test ecx, eax
je 0x4120e0
call fcn.004680f0
add esp, 4
jmp 0x4120ff
call fcn.004680f0
push eax
lea edx, [esp + 0x240]
push str._2_s_1
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x238]
push eax
push 0x5e02
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call esi
add esp, 0xc
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x44c]
test ecx, ecx
mov eax, dword [edx + 0x44]
je 0x412140
mov edx, dword [edx + 0x9e]
dec ecx
imul edx, ecx
add eax, edx
push 0
push 1
push ebp
push 0x5e21
push eax
call fcn.004086b0
mov edi, 0x5731d4
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov ecx, edx
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
jne 0x4132f4
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x9e]
test eax, eax
je 0x4121d4
push 0
push 1
push ebp
push 0x5e22
push eax
call fcn.004086b0
mov edi, 0x5731d4
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x9a]
test eax, eax
je 0x4132f4
push 0
push 1
push ebp
push 0x5e8a
push eax
call fcn.004086b0
add esp, 0x14
mov edi, 0x5731d4
jmp 0x4132cf
cmp eax, 4
jne 0x412fd3
test ecx, ecx
jne 0x4132f4
push 0x4e35
call fcn.004680f0
add esp, 4
push eax
push 0x5e01
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573424
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov edi, dword [esp + 0x45c]
mov esi, dword [esp + 0x20]
push edi
push esi
mov dword [esp + 0x30], 0
call fcn.0046c440
mov ebx, eax
mov eax, dword [esi + 0xc]
add eax, 0xfffffffd
add esp, 0x18
cmp eax, 0x2b
ja case.0x412270.4
jmp dword [eax*4 + 0x413fb0]
cmp byte [ebp], 0
je 0x4122ab
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
push 0x5ee0
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573240
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x10
test ebx, ebx
je 0x41233a
mov esi, dword [esi + 0x4c]
test esi, esi
je 0x41233a
test ebx, ebx
jge 0x4122f5
neg esi
push 0
push 1
push ebp
push 0x5e23
push esi
call fcn.004086b0
mov eax, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
jne 0x41233a
mov edi, 0x5731d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x412270.43
cmp byte [ebp], 0
je 0x412376
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x41244a
cmp byte [ebp], 0
je 0x4123ef
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
push 1
push 0x3e8
push esi
call fcn.00428090
fstp qword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x244]
push 2
push eax
push ecx
push edx
call fcn.00428100
add esp, 0x1c
lea eax, [esp + 0x238]
push eax
push 0x5e8e
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0xc
cmp byte [ebp], 0
je 0x41247a
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push 0x3e8
push ebx
call fcn.00428090
fstp qword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x244]
push 2
push eax
push ecx
push edx
call fcn.00428100
add esp, 0x1c
lea eax, [esp + 0x238]
push eax
push 0x5e04
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0xc
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
push 0
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x3c]
push 0
push edx
mov dword [esp + 0x20], ecx
push 0x5dec
jmp 0x412518
test ebx, ebx
je case.0x412270.43
push 0
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
push 0
push ecx
mov dword [esp + 0x20], eax
push 0x5ded
push ebx
call fcn.004086b0
add esp, 0x14
mov dword [esp + 0x18], 1
jmp case.0x412270.4
push 0
push 1
push ebp
push 0x5e07
push edi
call fcn.004086b0
add esp, 0x14
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
push 0
lea eax, [esp + 0x3c]
lea edx, [esp + 0x3c]
push 0
push eax
mov dword [esp + 0x20], edx
neg ebx
push 0x5e08
jmp 0x412e05
test ebx, ebx
je case.0x412270.43
push 0
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
push 0
push ecx
mov dword [esp + 0x20], eax
neg ebx
push 0x5e09
jmp 0x412e05
test ebx, ebx
je case.0x412270.43
push 0
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
push 0
push ecx
mov dword [esp + 0x20], eax
neg ebx
push 0x5e0a
jmp 0x412e05
test ebx, ebx
je case.0x412270.43
cmp byte [ebp], 0
je 0x4125f1
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x4c]
test esi, esi
je 0x41266a
push 0x5e68
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573240
add ecx, ebp
push ecx
call dword [0x56c1a4]
push 0
push 0
push ebp
push 0
neg esi
push esi
call fcn.004086b0
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
add esp, 0x24
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, 0x37
sub eax, ebx
cmp eax, 5
jge 0x41267b
mov eax, 5
push eax
push 0x5e67
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0xc
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
push 0
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
push 0
push ecx
mov dword [esp + 0x20], eax
neg ebx
push 0x5e0b
jmp 0x412e05
test ebx, ebx
je case.0x412270.43
push 0
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
push 0
push ecx
mov dword [esp + 0x20], eax
push 0x5e0c
jmp 0x412e05
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
je 0x412711
push 0
push 1
push ebp
push 0x5e23
push esi
call fcn.004086b0
add esp, 0x14
mov eax, dword [esp + 0x20]
add eax, 0x939
push eax
call fcn.0046c500
push 0
push 3
push ebp
push 0x5e0d
push eax
call fcn.004086b0
add esp, 0x18
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
push 0
push 3
push ebp
push 0x5e0e
push ebx
call fcn.004086b0
add esp, 0x14
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
push 0
push 3
push ebp
push 0x5e0f
push ebx
call fcn.004086b0
add esp, 0x14
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
push 0
push 3
push ebp
push 0x5e10
push ebx
call fcn.004086b0
add esp, 0x14
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
push 0
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x3c]
push 0
push edx
mov dword [esp + 0x20], ecx
push 0x5e11
jmp 0x412e05
test ebx, ebx
je case.0x412270.43
push 0
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x3c]
push 0
push ecx
mov dword [esp + 0x20], eax
push 0x5e12
jmp 0x412e05
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x412898
cmp byte [ebp], 0
je 0x412829
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
push 1
push 0x3e8
push esi
call fcn.00428090
fmul qword [0x56c2c8]
add esp, 0xc
lea eax, [esp + 0x238]
push 1
push eax
sub esp, 8
fstp qword [esp]
call fcn.00428100
add esp, 0x10
lea ecx, [esp + 0x238]
push ecx
push 0x5de1
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_s__
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
cmp byte [ebp], 0
je 0x4128c8
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x5de1
call fcn.004680f0
add esp, 4
push eax
push str._s_d__
jmp 0x413938
mov dword [esp + 0x14], 0xf
jmp 0x41292c
mov dword [esp + 0x14], 0x10
jmp 0x41292c
mov dword [esp + 0x14], 0x11
jmp 0x41292c
mov dword [esp + 0x14], 0x12
jmp 0x41292c
mov dword [esp + 0x14], 0x13
jmp 0x41292c
mov dword [esp + 0x14], 0x14
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je case.0x412270.43
test ebx, ebx
jge 0x41294d
neg esi
mov dword [esp + 0x10], esi
cmp byte [ebp], 0
je 0x41297d
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x5e23
call fcn.004680f0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
mov eax, dword [esp + 0x1c]
and ecx, 3
push ebp
push 0x5ddb
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.004086b0
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x5ddb
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004680f0
add esp, 4
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x5dc0
push eax
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_d
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
jmp case.0x412270.43
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x412aeb
cmp byte [ebp], 0
je 0x412a7c
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
push 1
push 0x3e8
push esi
call fcn.00428090
fmul qword [0x56c2c8]
add esp, 0xc
lea eax, [esp + 0x238]
push 1
push eax
sub esp, 8
fstp qword [esp]
call fcn.00428100
add esp, 0x10
lea ecx, [esp + 0x238]
push ecx
push 0x5de0
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_s__
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
cmp byte [ebp], 0
je 0x412b1b
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x5de0
call fcn.004680f0
add esp, 4
push eax
push str._s_d__
jmp 0x413938
mov dword [esp + 0x14], 0x19
jmp 0x412b57
mov dword [esp + 0x14], 0x1a
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x412bdd
cmp byte [ebp], 0
je 0x412b9e
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push esi
add eax, 0x5dc0
push eax
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_d
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
cmp byte [ebp], 0
je 0x412c0d
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
push ebx
add eax, 0x5dc0
push eax
call fcn.004680f0
add esp, 4
push eax
push str._s_d
jmp 0x413938
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x412cac
cmp byte [ebp], 0
je 0x412c72
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
push esi
push 0x5e69
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_d
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
cmp byte [ebp], 0
je 0x412cdc
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
push 0x5e69
call fcn.004680f0
add esp, 4
push eax
push str._s_d
jmp 0x413938
mov dword [esp + 0x14], 0xaa
jmp 0x412d11
mov dword [esp + 0x14], 0xab
jmp 0x412d11
mov dword [esp + 0x14], 0x21
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x412d97
cmp byte [ebp], 0
je 0x412d58
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push esi
add eax, 0x5dc0
push eax
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_d__
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
cmp byte [ebp], 0
je 0x412dc7
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
push ebx
add eax, 0x5dc0
push eax
call fcn.004680f0
add esp, 4
push eax
push str._s_d__
jmp 0x413938
test ebx, ebx
je case.0x412270.43
push 0
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x3c]
push 0
push edx
mov dword [esp + 0x20], ecx
neg ebx
push 0x5e18
push ebx
call fcn.004086b0
mov edi, 0x5731d4
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x38]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
jmp case.0x412270.4
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x412ec6
cmp byte [ebp], 0
je 0x412e8c
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
push esi
push 0x5ee1
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_d
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
cmp byte [ebp], 0
je 0x412ef6
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
push 0x5ee1
call fcn.004680f0
add esp, 4
push eax
push 0x5733e4
jmp 0x413938
test ebx, ebx
je case.0x412270.43
mov esi, dword [esi + 0x4c]
test esi, esi
mov dword [esp + 0x10], esi
je 0x412f8d
cmp byte [ebp], 0
je 0x412f56
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
push esi
push 0x3c
call fcn.004680f0
add esp, 4
push eax
push 0x5e23
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s_s_d.00
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
cmp byte [ebp], 0
je 0x412fbd
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
push 0x3c
call fcn.004680f0
add esp, 4
push eax
push str._s_d.00
jmp 0x413938
test ecx, ecx
jne 0x4132f4
push 0x4e34
call fcn.004680f0
add esp, 4
push eax
push 0x5e01
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573424
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov eax, dword [esp + 0x20]
add esp, 0x10
mov eax, dword [eax + 0x9e]
test eax, eax
je 0x413113
mov ecx, dword [esp + 0x10]
test dword [ecx + 0xc1], 0x20000000
je 0x4130c6
mov edx, dword [esp + 0x20]
mov cl, byte [edx + 0x3ca]
cmp cl, 3
je 0x41304e
cmp cl, 2
jne 0x4130c6
lea esi, [eax + eax*4]
push 0
shl esi, 1
push 1
push ebp
lea eax, [esi + esi*4]
push 0x5e20
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
shl ecx, 2
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
add esi, edx
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
call fcn.004086b0
mov eax, esi
mov ecx, 0xa
cdq
idiv ecx
add esp, 0x14
test edx, edx
je 0x4130d9
mov eax, edx
mov edi, ebp
cdq
idiv ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push edx
push 0x573478
push ecx
call dword [0x56c1a4]
add esp, 0xc
jmp 0x4130d9
push 0
push 1
push ebp
push 0x5e20
push eax
call fcn.004086b0
add esp, 0x14
mov edx, dword [esp + 0x10]
test dword [edx + 0xc1], 0x30000000
jne 0x413113
mov edi, 0x5731d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [esp + 0x10]
test dword [ebx + 0xc1], 0x10000000
jne 0x41316a
mov eax, dword [ebx + 0x9a]
test eax, eax
je 0x41316a
push 0
push 1
push ebp
push 0x5e89
push eax
call fcn.004086b0
mov edi, 0x5731d4
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx + 0x4c]
test edx, edx
je 0x413200
cmp byte [ebp], 0
je 0x4131a5
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push 0x3e8
push edx
call fcn.00428090
fstp qword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x244]
push 0
push eax
push ecx
push edx
call fcn.00428100
add esp, 0x1c
lea eax, [esp + 0x238]
push eax
push 0x5e8c
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0xc
cmp dword [esp + 0x448], 0x13
jne 0x4132f4
cmp byte [ebp], 0
je 0x41323e
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x573238
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x20]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ax, word [eax + 0x8ed]
test ax, ax
jne 0x41328a
push 0x5ec1
call fcn.004680f0
push eax
push str._s:____
jmp 0x4132b2
and eax, 0xffff
push eax
call fcn.0046db80
push eax
call fcn.004680f0
add esp, 8
push eax
push 0x5ec1
call fcn.004680f0
add esp, 4
push eax
push str._s:__s
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x10
mov edi, 0x573270
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x44c]
mov ecx, dword [esp + 0x448]
push eax
push ecx
call fcn.0046c3e0
mov edx, eax
add esp, 8
test edx, edx
je 0x41336e
cmp edx, 1
jle 0x41336e
cmp byte [ebp], 0
je 0x413347
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push edx
push 0x5e88
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0xc
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x413684
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x92]
test edx, edx
je 0x4133e3
cmp byte [ebp], 0
je 0x4133bc
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push edx
push 0x5e1f
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0xc
cmp dword [esp + 0x448], 0x1c1
je 0x4134e5
cmp byte [ebp], 0
je 0x413424
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x5e13
call fcn.004680f0
push eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573218
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov eax, dword [ebx + 0x10]
add esp, 0x10
cmp eax, 8
ja case.0x413454.3
jmp dword [eax*4 + 0x414060]
push 0x5e14
jmp 0x4134b6
push 0x5e15
jmp 0x4134b6
test dword [ebx + 0xc1], 0x40000000
je 0x413487
mov eax, dword [ebx + 0xc5]
test ah, 0x80
je 0x413487
push 0x5f37
jmp 0x4134b6
push 0x5e16
jmp 0x4134b6
push 0x5e53
jmp 0x4134b6
push 0x5e81
jmp 0x4134b6
push 0x5368
jmp 0x4134b6
push 0x5369
jmp 0x4134b6
push 0x537c
jmp 0x4134b6
push 0x5e17
call fcn.004680f0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [ebp], 0
je 0x413515
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x44c]
mov edx, dword [esp + 0x448]
xor esi, esi
lea eax, [edi + 0x939]
push eax
push ecx
push edx
call fcn.0046c240
mov ebx, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, 2
je 0x4135c1
mov eax, dword [esp + 0x448]
push eax
call fcn.004663b0
add esp, 4
test eax, eax
jne 0x4135c1
cmp dword [edi + 0x3a2], ebx
jae 0x413590
mov edi, 0x573274
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 1
push ebx
push 0x5e18
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s:_d
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x10
jmp 0x413656
xor eax, eax
mov ax, word [edi + 0x3bc]
cmp eax, ebx
jge 0x4135fd
mov edi, 0x573274
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 1
mov eax, ebx
mov ecx, 0x64
cdq
idiv ecx
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
push edx
imul ebx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
push 0x5e19
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s:_d._02d
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x14
test esi, esi
je 0x413684
mov edi, 0x573270
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x413955
push eax
call fcn.00461550
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
je case.0x412270.43
cmp byte [ebp], 0
je 0x4136d8
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x238]
push 0x200
push eax
mov ecx, dword [ebx + 0x70]
push ecx
call fcn.004615a0
mov edx, dword [esp + 0x2c]
add esp, 0xc
xor eax, eax
lea ecx, [esp + 0x238]
mov ax, word [edx + 0x3c8]
push ecx
push eax
push 0x5e1b
mov dword [esp + 0x38], eax
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0x74]
test esi, esi
jne 0x41376b
mov esi, 0x1c20
push 0x53ce
call fcn.004680f0
push eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573218
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
push 0x5e75
push esi
call fcn.00427d20
mov eax, dword [esp + 0x470]
add esp, 0x1c
cmp eax, 1
je 0x41382f
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ax, word [ebx + 0x78]
test eax, eax
jne 0x4137f0
mov eax, 0x13bf
push eax
call fcn.0046abc0
push eax
call fcn.004680f0
add esp, 8
push eax
push 0x53cf
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
mov ebx, dword [0x56c1a4]
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x573240
add ecx, ebp
push ecx
call ebx
add esp, 0x10
jmp 0x413835
mov ebx, dword [0x56c1a4]
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
push 0x5e1c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004680f0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
xor edi, edi
movsx edx, word [ecx + 0x4a2]
mov di, word [ecx + 0x3d1]
mov ax, word [esi + 0x70a]
sub edx, edi
xor edi, edi
mov di, word [ecx + 0x496]
push eax
add edx, edi
cmp edx, eax
jl 0x4138cb
push 0x57325c
jmp 0x4138d0
push str._2_d_1
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call ebx
movsx edx, byte [esi + 0x710]
add esp, 0xc
cmp edx, 1
jle case.0x412270.43
cmp byte [ebp], 0
je 0x413924
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push edx
push 0x5f38
call fcn.004680f0
add esp, 4
push eax
push str._s:_d
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x10
jmp case.0x412270.43
mov esi, dword [esp + 0x20]
lea eax, [esi + 0x32c]
push eax
call fcn.00461350
mov edi, eax
mov eax, dword [ebx + 0x40]
add esp, 4
test eax, eax
je 0x413ac0
mov eax, dword [esp + 0x44c]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x44c]
push edx
push 0
push eax
push ecx
call fcn.0046c300
movsx eax, word [esi + 0x49a]
xor edx, edx
add esp, 0x14
mov dx, word [esi + 0x48e]
add eax, edx
sub eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
jns 0x4139c0
mov dword [esp + 0x1c], 0
mov ecx, dword [ebx + 0xc1]
lea eax, [ebx + 0xc1]
test ecx, 0x80000000
mov dword [esp + 0x18], eax
je 0x413aad
cmp dword [esp + 0x448], 0x1c1
je 0x413aad
cmp byte [ebp], 0
je 0x413a21
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
push eax
je 0x413a5e
push ecx
push 0x5ddb
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
mov esi, dword [0x56c1a4]
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s:__d_d
add ecx, ebp
push ecx
call esi
add esp, 0x14
jmp 0x413a8b
push 0x5ddb
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
mov esi, dword [0x56c1a4]
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s:__d
add ecx, ebp
push ecx
call esi
add esp, 0x10
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x413aad
push eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5732ec
add ecx, ebp
push ecx
call esi
add esp, 0xc
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
lea edx, [eax + ecx]
sar edx, 1
mov dword [esp + 0x1c], edx
jmp 0x413b27
movsx eax, word [esi + 0x49a]
xor edx, edx
mov dx, word [esi + 0x48e]
add eax, edx
sub eax, edi
jns 0x413ad8
xor eax, eax
mov edx, dword [esp + 0x44c]
lea ecx, [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x450]
push edx
push eax
call fcn.0046c380
mov ecx, dword [ebx + 0xc1]
lea eax, [ebx + 0xc1]
add esp, 0x10
mov dword [esp + 0x18], eax
test ecx, 0x20000000
je 0x413b23
mov edx, dword [esp + 0x1c]
xor ecx, ecx
mov cx, word [esi + 0x8ef]
add edx, ecx
mov dword [esp + 0x1c], edx
jmp 0x413b27
mov edx, dword [esp + 0x1c]
mov al, byte [ebx + 0xb6]
test al, al
je 0x413c1f
mov eax, dword [ebx + 0xb7]
test eax, eax
je 0x413c1f
cmp byte [ebp], 0
je 0x413b73
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x38]
push eax
mov eax, 0x10624dd3
mul dword [ecx + 0xb7]
shr edx, 6
push 0x5e75
push edx
call fcn.00427d20
mov edi, 0x573238
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x38]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push 0x5395
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov edi, 0x573298
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, dword [esp + 0x10]
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [esp + 0x448], 0x1c1
jne 0x413c9c
cmp edx, 0x64
jle 0x413c3a
mov edx, 0x64
mov dword [esp + 0x1c], edx
cmp byte [ebp], 0
je 0x413c6e
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push edx
push 0x5df7
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str._s:__d__
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0x10
jmp 0x413cb6
mov eax, dword [esp + 0x44c]
mov ecx, dword [esp + 0x18]
push eax
push ebx
push edx
push 2
push ecx
push ebp
call fcn.00408a00
add esp, 0x18
mov eax, dword [ebx + 0x7e]
test eax, eax
je 0x413dab
cmp byte [ebp], 0
je 0x413cf1
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x57323c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0x7e]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x64
cdq
idiv ecx
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x448]
cmp eax, 0x4e
je 0x413d7a
cmp eax, 0x1bf
je 0x413d7a
push edx
push esi
push 0x4e41
call fcn.004680f0
add esp, 4
push eax
push str._s__d._02d
jmp 0x413d8f
push edx
push esi
push 0x4e41
call fcn.004680f0
add esp, 4
push eax
push str._s___d._02d
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov ebx, dword [esp + 0x24]
add esp, 0x14
xor edx, edx
mov dx, word [ebx + 0xa4]
test edx, edx
je 0x413e41
cmp byte [ebp], 0
je 0x413dec
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x57323c
or ecx, 0xffffffff
xor eax, eax
push edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x5f55
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov ebx, dword [esp + 0x1c]
add esp, 0xc
xor edx, edx
mov dx, word [ebx + 0xa6]
test edx, edx
je 0x413ed7
cmp byte [ebp], 0
je 0x413e82
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x57323c
or ecx, 0xffffffff
xor eax, eax
push edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x5f56
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
mov ebx, dword [esp + 0x1c]
add esp, 0xc
xor edx, edx
mov dx, word [ebx + 0xa8]
test edx, edx
je case.0x412270.43
cmp byte [ebp], 0
je 0x413f18
mov edi, 0x5731f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x57323c
or ecx, 0xffffffff
xor eax, eax
push edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x5f5a
mov esi, edi
mov ebx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004680f0
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebp
push ecx
call dword [0x56c1a4]
add esp, 0xc
jmp case.0x412270.43
mov byte [0x606480], 0
mov dword [0x60633c], esi
test byte [esp + 0x454], 1
jne 0x413fa3
mov ecx, dword [esp + 0x444]
mov edx, dword [esp + 0x440]
mov eax, dword [esp + 0x43c]
push ecx
push edx
push eax
push ebp
call fcn.0040a140
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x428
ret