Function at 0x411ca0
Capabilities:
Hash data using fnv
Rebuild import table
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
mov eax, 0x4dc8
call fcn.004bc400
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0040f890
mov dword [esp + 0x2bdc], eax
lea ecx, [esp + 0x2bcb]
lea eax, [esp + 0x2bca]
mov dword [esp], eax
call fcn.00433fa0
sub esp, 4
lea eax, [esp + 0x2bdb]
mov dword [esp + 0x2be8], eax
lea eax, [esp + 0x2bcb]
mov dword [esp + 0x2be4], eax
lea eax, [esp + 0x31b4]
mov dword [esp + 0x31bc], eax
mov eax, dword [esp + 0x31bc]
mov dword [esp + 0x3218], 0x30
mov ecx, dword [esp + 0x3218]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3214], ecx
mov ecx, dword [esp + 0x3214]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x31b4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x31a8]
mov dword [esp + 0x31cc], ecx
mov dword [esp + 0x31c8], eax
mov eax, dword [esp + 0x31cc]
mov ecx, dword [esp + 0x31c8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x31c8]
mov dword [esp + 0x321c], ecx
mov ecx, dword [esp + 0x321c]
mov edx, dword [esp + 0x321c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x31c0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x31c4], ecx
mov ecx, dword [esp + 0x31c8]
add ecx, dword [esp + 0x31c0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x31c4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x31a8]
mov dword [esp + 0x31d0], eax
mov ecx, dword [esp + 0x31d0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x411f76
lea eax, [esp + 0x31a8]
mov dword [esp + 0x31d4], eax
mov eax, dword [esp + 0x31d4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x31a4], eax
mov eax, dword [esp + 0x31a4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x31a4], ecx
cmp eax, 0
je 0x411f74
mov eax, dword [esp + 0x31a4]
lea ecx, [esp + 0x31a8]
mov dword [esp + 0x31ec], ecx
mov dword [esp + 0x31e8], eax
mov eax, dword [esp + 0x31ec]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x31e8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x31f4], 0x41d6264d
mov dword [esp + 0x31f0], 0x5d527bdd
mov eax, dword [esp + 0x31f4]
mov dword [esp + 0x31e4], ecx
mov dword [esp + 0x31e0], eax
mov eax, dword [esp + 0x31e0]
mov dword [esp + 0x31dc], eax
mov eax, dword [esp + 0x31e4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x31e4], ecx
mov al, byte [eax]
mov byte [esp + 0x31db], al
cmp byte [esp + 0x31db], 0
je 0x411f47
mov ecx, dword [esp + 0x31dc]
mov al, byte [esp + 0x31db]
mov dword [esp + 0x3224], ecx
mov byte [esp + 0x3223], al
mov eax, dword [esp + 0x3224]
mov dword [esp + 0x28ac], eax
movsx eax, byte [esp + 0x3223]
cmp eax, 0x41
jl 0x411f16
movsx eax, byte [esp + 0x3223]
cmp eax, 0x5a
jg 0x411f16
movsx eax, byte [esp + 0x3223]
or eax, 0x20
mov dword [esp + 0x28a8], eax
jmp 0x411f25
movsx eax, byte [esp + 0x3223]
mov dword [esp + 0x28a8], eax
mov eax, dword [esp + 0x28ac]
mov ecx, dword [esp + 0x28a8]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x31dc], eax
jmp 0x411e94
mov eax, dword [esp + 0x31dc]
mov dword [esp + 0x31fc], 0x41d6264d
mov dword [esp + 0x31f8], 0x5d527bdd
mov ecx, dword [esp + 0x31f8]
cmp eax, ecx
je 0x411fa4
jmp 0x411e04
jmp 0x411f76
lea eax, [esp + 0x31b4]
mov dword [esp + 0x3210], eax
mov eax, dword [esp + 0x3210]
mov ecx, dword [eax]
mov dword [esp + 0x3228], ecx
mov ecx, dword [esp + 0x3228]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x411d43
mov eax, dword [esp + 0x31a4]
lea ecx, [esp + 0x31a8]
mov dword [esp + 0x320c], ecx
mov dword [esp + 0x3208], eax
mov eax, dword [esp + 0x320c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3204], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3200], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3204]
mov edx, dword [esp + 0x3200]
mov esi, dword [esp + 0x3208]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x31b8], eax
mov eax, dword [esp + 0x31b8]
mov dword [esp + 0x28a0], eax
mov eax, dword [esp + 0x2be4]
mov dword [esp + 0x2f34], eax
mov eax, dword [esp + 0x2f34]
mov dword [esp + 0x2f38], eax
mov eax, dword [esp + 0x2f38]
mov dword [esp + 0x28a4], eax
mov dword [esp + 0x302c], eax
mov eax, dword [esp + 0x302c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x4120d4
mov eax, dword [esp + 0x28a4]
mov dword [esp + 0x31a0], eax
mov dword [esp + 0x319c], eax
mov eax, dword [esp + 0x31a0]
mov dword [esp + 0x289c], eax
mov dword [esp + 0x3198], 0
cmp dword [esp + 0x3198], 0x10
jge 0x4120d2
mov eax, dword [esp + 0x289c]
mov ecx, dword [esp + 0x319c]
mov edx, dword [esp + 0x3198]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3198]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3198]
add eax, 1
mov dword [esp + 0x3198], eax
jmp 0x412087
jmp 0x4120d4
mov eax, dword [esp + 0x28a0]
mov ecx, dword [esp + 0x28a4]
mov dword [esp], ecx
call eax
sub esp, 4
cmp dword [esp + 0x2bdc], 0
jne 0x412118
mov dword [esp + 0x2bc4], 0
cmp dword [esp + 0x2bc4], 0x14
jae 0x412116
mov byte [esp + 0x2be3], 0
jmp 0x433f8b
jmp 0x412118
lea ecx, [esp + 0x2bb3]
lea eax, [esp + 0x2bb2]
mov dword [esp], eax
call fcn.00434000
sub esp, 4
lea eax, [esp + 0x2bc3]
mov dword [esp + 0x2bf0], eax
lea eax, [esp + 0x2bb3]
mov dword [esp + 0x2bec], eax
lea eax, [esp + 0x323c]
mov dword [esp + 0x3244], eax
mov eax, dword [esp + 0x3244]
mov dword [esp + 0x32a0], 0x30
mov ecx, dword [esp + 0x32a0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x329c], ecx
mov ecx, dword [esp + 0x329c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x323c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3230]
mov dword [esp + 0x3254], ecx
mov dword [esp + 0x3250], eax
mov eax, dword [esp + 0x3254]
mov ecx, dword [esp + 0x3250]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3250]
mov dword [esp + 0x32a4], ecx
mov ecx, dword [esp + 0x32a4]
mov edx, dword [esp + 0x32a4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3248], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x324c], ecx
mov ecx, dword [esp + 0x3250]
add ecx, dword [esp + 0x3248]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x324c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3230]
mov dword [esp + 0x3258], eax
mov ecx, dword [esp + 0x3258]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4123c0
lea eax, [esp + 0x3230]
mov dword [esp + 0x325c], eax
mov eax, dword [esp + 0x325c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x322c], eax
mov eax, dword [esp + 0x322c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x322c], ecx
cmp eax, 0
je 0x4123be
mov eax, dword [esp + 0x322c]
lea ecx, [esp + 0x3230]
mov dword [esp + 0x3274], ecx
mov dword [esp + 0x3270], eax
mov eax, dword [esp + 0x3274]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3270]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x327c], 0x727d0a19
mov dword [esp + 0x3278], 0xd31bfdd9
mov eax, dword [esp + 0x327c]
mov dword [esp + 0x326c], ecx
mov dword [esp + 0x3268], eax
mov eax, dword [esp + 0x3268]
mov dword [esp + 0x3264], eax
mov eax, dword [esp + 0x326c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x326c], ecx
mov al, byte [eax]
mov byte [esp + 0x3263], al
cmp byte [esp + 0x3263], 0
je 0x412391
mov ecx, dword [esp + 0x3264]
mov al, byte [esp + 0x3263]
mov dword [esp + 0x32ac], ecx
mov byte [esp + 0x32ab], al
mov eax, dword [esp + 0x32ac]
mov dword [esp + 0x2898], eax
movsx eax, byte [esp + 0x32ab]
cmp eax, 0x41
jl 0x412360
movsx eax, byte [esp + 0x32ab]
cmp eax, 0x5a
jg 0x412360
movsx eax, byte [esp + 0x32ab]
or eax, 0x20
mov dword [esp + 0x2894], eax
jmp 0x41236f
movsx eax, byte [esp + 0x32ab]
mov dword [esp + 0x2894], eax
mov eax, dword [esp + 0x2898]
mov ecx, dword [esp + 0x2894]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3264], eax
jmp 0x4122de
mov eax, dword [esp + 0x3264]
mov dword [esp + 0x3284], 0x727d0a19
mov dword [esp + 0x3280], 0xd31bfdd9
mov ecx, dword [esp + 0x3280]
cmp eax, ecx
je 0x4123ee
jmp 0x41224e
jmp 0x4123c0
lea eax, [esp + 0x323c]
mov dword [esp + 0x3298], eax
mov eax, dword [esp + 0x3298]
mov ecx, dword [eax]
mov dword [esp + 0x32b0], ecx
mov ecx, dword [esp + 0x32b0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x41218d
mov eax, dword [esp + 0x322c]
lea ecx, [esp + 0x3230]
mov dword [esp + 0x3294], ecx
mov dword [esp + 0x3290], eax
mov eax, dword [esp + 0x3294]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x328c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3288], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x328c]
mov edx, dword [esp + 0x3288]
mov esi, dword [esp + 0x3290]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3240], eax
mov eax, dword [esp + 0x3240]
mov dword [esp + 0x288c], eax
mov eax, dword [esp + 0x2bec]
mov dword [esp + 0x2f30], eax
mov eax, dword [esp + 0x2f30]
mov dword [esp + 0x2f3c], eax
mov eax, dword [esp + 0x2f3c]
mov dword [esp + 0x2890], eax
mov dword [esp + 0x3028], eax
mov eax, dword [esp + 0x3028]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x41251e
mov eax, dword [esp + 0x2890]
mov dword [esp + 0x3194], eax
mov dword [esp + 0x3190], eax
mov eax, dword [esp + 0x3194]
mov dword [esp + 0x2888], eax
mov dword [esp + 0x318c], 0
cmp dword [esp + 0x318c], 0x10
jge 0x41251c
mov eax, dword [esp + 0x2888]
mov ecx, dword [esp + 0x3190]
mov edx, dword [esp + 0x318c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x318c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x318c]
add eax, 1
mov dword [esp + 0x318c], eax
jmp 0x4124d1
jmp 0x41251e
mov eax, dword [esp + 0x288c]
mov ecx, dword [esp + 0x2890]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2bdc]
mov eax, dword [eax + 4]
mov dword [esp + 0x2bac], eax
lea ecx, [esp + 0x2b9b]
lea eax, [esp + 0x2b9a]
mov dword [esp], eax
call fcn.00434060
sub esp, 4
lea eax, [esp + 0x2bab]
mov dword [esp + 0x2bf8], eax
lea eax, [esp + 0x2b9b]
mov dword [esp + 0x2bf4], eax
lea eax, [esp + 0x32c4]
mov dword [esp + 0x32cc], eax
mov eax, dword [esp + 0x32cc]
mov dword [esp + 0x3328], 0x30
mov ecx, dword [esp + 0x3328]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3324], ecx
mov ecx, dword [esp + 0x3324]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x32c4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x32b8]
mov dword [esp + 0x32dc], ecx
mov dword [esp + 0x32d8], eax
mov eax, dword [esp + 0x32dc]
mov ecx, dword [esp + 0x32d8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x32d8]
mov dword [esp + 0x332c], ecx
mov ecx, dword [esp + 0x332c]
mov edx, dword [esp + 0x332c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x32d0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x32d4], ecx
mov ecx, dword [esp + 0x32d8]
add ecx, dword [esp + 0x32d0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x32d4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x32b8]
mov dword [esp + 0x32e0], eax
mov ecx, dword [esp + 0x32e0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4127ed
lea eax, [esp + 0x32b8]
mov dword [esp + 0x32e4], eax
mov eax, dword [esp + 0x32e4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x32b4], eax
mov eax, dword [esp + 0x32b4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x32b4], ecx
cmp eax, 0
je 0x4127eb
mov eax, dword [esp + 0x32b4]
lea ecx, [esp + 0x32b8]
mov dword [esp + 0x32fc], ecx
mov dword [esp + 0x32f8], eax
mov eax, dword [esp + 0x32fc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x32f8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3304], 0x5ecd5b1a
mov dword [esp + 0x3300], 0xa43f600e
mov eax, dword [esp + 0x3304]
mov dword [esp + 0x32f4], ecx
mov dword [esp + 0x32f0], eax
mov eax, dword [esp + 0x32f0]
mov dword [esp + 0x32ec], eax
mov eax, dword [esp + 0x32f4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x32f4], ecx
mov al, byte [eax]
mov byte [esp + 0x32eb], al
cmp byte [esp + 0x32eb], 0
je 0x4127be
mov ecx, dword [esp + 0x32ec]
mov al, byte [esp + 0x32eb]
mov dword [esp + 0x3334], ecx
mov byte [esp + 0x3333], al
mov eax, dword [esp + 0x3334]
mov dword [esp + 0x2884], eax
movsx eax, byte [esp + 0x3333]
cmp eax, 0x41
jl 0x41278d
movsx eax, byte [esp + 0x3333]
cmp eax, 0x5a
jg 0x41278d
movsx eax, byte [esp + 0x3333]
or eax, 0x20
mov dword [esp + 0x2880], eax
jmp 0x41279c
movsx eax, byte [esp + 0x3333]
mov dword [esp + 0x2880], eax
mov eax, dword [esp + 0x2884]
mov ecx, dword [esp + 0x2880]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x32ec], eax
jmp 0x41270b
mov eax, dword [esp + 0x32ec]
mov dword [esp + 0x330c], 0x5ecd5b1a
mov dword [esp + 0x3308], 0xa43f600e
mov ecx, dword [esp + 0x3308]
cmp eax, ecx
je 0x41281b
jmp 0x41267b
jmp 0x4127ed
lea eax, [esp + 0x32c4]
mov dword [esp + 0x3320], eax
mov eax, dword [esp + 0x3320]
mov ecx, dword [eax]
mov dword [esp + 0x3338], ecx
mov ecx, dword [esp + 0x3338]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4125ba
mov eax, dword [esp + 0x32b4]
lea ecx, [esp + 0x32b8]
mov dword [esp + 0x331c], ecx
mov dword [esp + 0x3318], eax
mov eax, dword [esp + 0x331c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3314], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3310], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3314]
mov edx, dword [esp + 0x3310]
mov esi, dword [esp + 0x3318]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x32c8], eax
mov eax, dword [esp + 0x32c8]
mov dword [esp + 0x2878], eax
mov eax, dword [esp + 0x2bf4]
mov dword [esp + 0x2f2c], eax
mov eax, dword [esp + 0x2f2c]
mov dword [esp + 0x2f40], eax
mov eax, dword [esp + 0x2f40]
mov dword [esp + 0x287c], eax
mov dword [esp + 0x3024], eax
mov eax, dword [esp + 0x3024]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x41294b
mov eax, dword [esp + 0x287c]
mov dword [esp + 0x3188], eax
mov dword [esp + 0x3184], eax
mov eax, dword [esp + 0x3188]
mov dword [esp + 0x2874], eax
mov dword [esp + 0x3180], 0
cmp dword [esp + 0x3180], 0x10
jge 0x412949
mov eax, dword [esp + 0x2874]
mov ecx, dword [esp + 0x3184]
mov edx, dword [esp + 0x3180]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3180]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3180]
add eax, 1
mov dword [esp + 0x3180], eax
jmp 0x4128fe
jmp 0x41294b
mov eax, dword [esp + 0x2878]
mov ecx, dword [esp + 0x287c]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2bdc]
mov eax, dword [eax]
mov dword [esp + 0x2b94], eax
lea ecx, [esp + 0x2b83]
lea eax, [esp + 0x2b82]
mov dword [esp], eax
call fcn.004340c0
sub esp, 4
lea eax, [esp + 0x2b93]
mov dword [esp + 0x2c00], eax
lea eax, [esp + 0x2b83]
mov dword [esp + 0x2bfc], eax
lea eax, [esp + 0x334c]
mov dword [esp + 0x3354], eax
mov eax, dword [esp + 0x3354]
mov dword [esp + 0x33b0], 0x30
mov ecx, dword [esp + 0x33b0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x33ac], ecx
mov ecx, dword [esp + 0x33ac]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x334c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3340]
mov dword [esp + 0x3364], ecx
mov dword [esp + 0x3360], eax
mov eax, dword [esp + 0x3364]
mov ecx, dword [esp + 0x3360]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3360]
mov dword [esp + 0x33b4], ecx
mov ecx, dword [esp + 0x33b4]
mov edx, dword [esp + 0x33b4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3358], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x335c], ecx
mov ecx, dword [esp + 0x3360]
add ecx, dword [esp + 0x3358]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x335c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3340]
mov dword [esp + 0x3368], eax
mov ecx, dword [esp + 0x3368]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x412c19
lea eax, [esp + 0x3340]
mov dword [esp + 0x336c], eax
mov eax, dword [esp + 0x336c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x333c], eax
mov eax, dword [esp + 0x333c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x333c], ecx
cmp eax, 0
je 0x412c17
mov eax, dword [esp + 0x333c]
lea ecx, [esp + 0x3340]
mov dword [esp + 0x3384], ecx
mov dword [esp + 0x3380], eax
mov eax, dword [esp + 0x3384]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3380]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x338c], 0xd7ef4b8f
mov dword [esp + 0x3388], 0xd95970db
mov eax, dword [esp + 0x338c]
mov dword [esp + 0x337c], ecx
mov dword [esp + 0x3378], eax
mov eax, dword [esp + 0x3378]
mov dword [esp + 0x3374], eax
mov eax, dword [esp + 0x337c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x337c], ecx
mov al, byte [eax]
mov byte [esp + 0x3373], al
cmp byte [esp + 0x3373], 0
je 0x412bea
mov ecx, dword [esp + 0x3374]
mov al, byte [esp + 0x3373]
mov dword [esp + 0x33bc], ecx
mov byte [esp + 0x33bb], al
mov eax, dword [esp + 0x33bc]
mov dword [esp + 0x2870], eax
movsx eax, byte [esp + 0x33bb]
cmp eax, 0x41
jl 0x412bb9
movsx eax, byte [esp + 0x33bb]
cmp eax, 0x5a
jg 0x412bb9
movsx eax, byte [esp + 0x33bb]
or eax, 0x20
mov dword [esp + 0x286c], eax
jmp 0x412bc8
movsx eax, byte [esp + 0x33bb]
mov dword [esp + 0x286c], eax
mov eax, dword [esp + 0x2870]
mov ecx, dword [esp + 0x286c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3374], eax
jmp 0x412b37
mov eax, dword [esp + 0x3374]
mov dword [esp + 0x3394], 0xd7ef4b8f
mov dword [esp + 0x3390], 0xd95970db
mov ecx, dword [esp + 0x3390]
cmp eax, ecx
je 0x412c47
jmp 0x412aa7
jmp 0x412c19
lea eax, [esp + 0x334c]
mov dword [esp + 0x33a8], eax
mov eax, dword [esp + 0x33a8]
mov ecx, dword [eax]
mov dword [esp + 0x33c0], ecx
mov ecx, dword [esp + 0x33c0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4129e6
mov eax, dword [esp + 0x333c]
lea ecx, [esp + 0x3340]
mov dword [esp + 0x33a4], ecx
mov dword [esp + 0x33a0], eax
mov eax, dword [esp + 0x33a4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x339c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3398], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x339c]
mov edx, dword [esp + 0x3398]
mov esi, dword [esp + 0x33a0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3350], eax
mov eax, dword [esp + 0x3350]
mov dword [esp + 0x2864], eax
mov eax, dword [esp + 0x2bfc]
mov dword [esp + 0x2f28], eax
mov eax, dword [esp + 0x2f28]
mov dword [esp + 0x2f44], eax
mov eax, dword [esp + 0x2f44]
mov dword [esp + 0x2868], eax
mov dword [esp + 0x3020], eax
mov eax, dword [esp + 0x3020]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x412d77
mov eax, dword [esp + 0x2868]
mov dword [esp + 0x317c], eax
mov dword [esp + 0x3178], eax
mov eax, dword [esp + 0x317c]
mov dword [esp + 0x2860], eax
mov dword [esp + 0x3174], 0
cmp dword [esp + 0x3174], 0x10
jge 0x412d75
mov eax, dword [esp + 0x2860]
mov ecx, dword [esp + 0x3178]
mov edx, dword [esp + 0x3174]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3174]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3174]
add eax, 1
mov dword [esp + 0x3174], eax
jmp 0x412d2a
jmp 0x412d77
mov eax, dword [esp + 0x2864]
mov ecx, dword [esp + 0x2868]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [esp + 0x2b7c], 0
mov dword [esp + 0x2b78], 0
mov eax, dword [esp + 0x2b78]
cmp eax, dword [esp + 0x2bac]
jae 0x433f6a
lea ecx, [esp + 0x2b67]
lea eax, [esp + 0x2b66]
mov dword [esp], eax
call fcn.00434120
sub esp, 4
lea eax, [esp + 0x2b77]
mov dword [esp + 0x2c08], eax
lea eax, [esp + 0x2b67]
mov dword [esp + 0x2c04], eax
lea eax, [esp + 0x33d4]
mov dword [esp + 0x33dc], eax
mov eax, dword [esp + 0x33dc]
mov dword [esp + 0x3438], 0x30
mov ecx, dword [esp + 0x3438]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3434], ecx
mov ecx, dword [esp + 0x3434]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x33d4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x33c8]
mov dword [esp + 0x33ec], ecx
mov dword [esp + 0x33e8], eax
mov eax, dword [esp + 0x33ec]
mov ecx, dword [esp + 0x33e8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x33e8]
mov dword [esp + 0x343c], ecx
mov ecx, dword [esp + 0x343c]
mov edx, dword [esp + 0x343c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x33e0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x33e4], ecx
mov ecx, dword [esp + 0x33e8]
add ecx, dword [esp + 0x33e0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x33e4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x33c8]
mov dword [esp + 0x33f0], eax
mov ecx, dword [esp + 0x33f0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x41305f
lea eax, [esp + 0x33c8]
mov dword [esp + 0x33f4], eax
mov eax, dword [esp + 0x33f4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x33c4], eax
mov eax, dword [esp + 0x33c4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x33c4], ecx
cmp eax, 0
je 0x41305d
mov eax, dword [esp + 0x33c4]
lea ecx, [esp + 0x33c8]
mov dword [esp + 0x340c], ecx
mov dword [esp + 0x3408], eax
mov eax, dword [esp + 0x340c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3408]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3414], 0x54a3842e
mov dword [esp + 0x3410], 0xc6554c52
mov eax, dword [esp + 0x3414]
mov dword [esp + 0x3404], ecx
mov dword [esp + 0x3400], eax
mov eax, dword [esp + 0x3400]
mov dword [esp + 0x33fc], eax
mov eax, dword [esp + 0x3404]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3404], ecx
mov al, byte [eax]
mov byte [esp + 0x33fb], al
cmp byte [esp + 0x33fb], 0
je 0x413030
mov ecx, dword [esp + 0x33fc]
mov al, byte [esp + 0x33fb]
mov dword [esp + 0x3444], ecx
mov byte [esp + 0x3443], al
mov eax, dword [esp + 0x3444]
mov dword [esp + 0x285c], eax
movsx eax, byte [esp + 0x3443]
cmp eax, 0x41
jl 0x412fff
movsx eax, byte [esp + 0x3443]
cmp eax, 0x5a
jg 0x412fff
movsx eax, byte [esp + 0x3443]
or eax, 0x20
mov dword [esp + 0x2858], eax
jmp 0x41300e
movsx eax, byte [esp + 0x3443]
mov dword [esp + 0x2858], eax
mov eax, dword [esp + 0x285c]
mov ecx, dword [esp + 0x2858]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x33fc], eax
jmp 0x412f7d
mov eax, dword [esp + 0x33fc]
mov dword [esp + 0x341c], 0x54a3842e
mov dword [esp + 0x3418], 0xc6554c52
mov ecx, dword [esp + 0x3418]
cmp eax, ecx
je 0x41308d
jmp 0x412eed
jmp 0x41305f
lea eax, [esp + 0x33d4]
mov dword [esp + 0x3430], eax
mov eax, dword [esp + 0x3430]
mov ecx, dword [eax]
mov dword [esp + 0x3448], ecx
mov ecx, dword [esp + 0x3448]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x412e2c
mov eax, dword [esp + 0x33c4]
lea ecx, [esp + 0x33c8]
mov dword [esp + 0x342c], ecx
mov dword [esp + 0x3428], eax
mov eax, dword [esp + 0x342c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3424], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3420], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3424]
mov edx, dword [esp + 0x3420]
mov esi, dword [esp + 0x3428]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x33d8], eax
mov eax, dword [esp + 0x33d8]
mov dword [esp + 0x2850], eax
mov eax, dword [esp + 0x2c04]
mov dword [esp + 0x2f24], eax
mov eax, dword [esp + 0x2f24]
mov dword [esp + 0x2f48], eax
mov eax, dword [esp + 0x2f48]
mov dword [esp + 0x2854], eax
mov dword [esp + 0x301c], eax
mov eax, dword [esp + 0x301c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x4131bd
mov eax, dword [esp + 0x2854]
mov dword [esp + 0x3170], eax
mov dword [esp + 0x316c], eax
mov eax, dword [esp + 0x3170]
mov dword [esp + 0x284c], eax
mov dword [esp + 0x3168], 0
cmp dword [esp + 0x3168], 0x10
jge 0x4131bb
mov eax, dword [esp + 0x284c]
mov ecx, dword [esp + 0x316c]
mov edx, dword [esp + 0x3168]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3168]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3168]
add eax, 1
mov dword [esp + 0x3168], eax
jmp 0x413170
jmp 0x4131bd
mov eax, dword [esp + 0x2850]
mov ecx, dword [esp + 0x2854]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2b94]
add eax, dword [esp + 0x2b78]
mov ecx, dword [ebp + 8]
add eax, ecx
mov dword [esp + 0x2b7c], eax
lea ecx, [esp + 0x2b55]
lea eax, [esp + 0x2b54]
mov dword [esp], eax
call fcn.00434180
sub esp, 4
lea eax, [esp + 0x2b65]
mov dword [esp + 0x2c10], eax
lea eax, [esp + 0x2b55]
mov dword [esp + 0x2c0c], eax
lea eax, [esp + 0x345c]
mov dword [esp + 0x3464], eax
mov eax, dword [esp + 0x3464]
mov dword [esp + 0x34c0], 0x30
mov ecx, dword [esp + 0x34c0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x34bc], ecx
mov ecx, dword [esp + 0x34bc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x345c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3450]
mov dword [esp + 0x3474], ecx
mov dword [esp + 0x3470], eax
mov eax, dword [esp + 0x3474]
mov ecx, dword [esp + 0x3470]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3470]
mov dword [esp + 0x34c4], ecx
mov ecx, dword [esp + 0x34c4]
mov edx, dword [esp + 0x34c4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3468], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x346c], ecx
mov ecx, dword [esp + 0x3470]
add ecx, dword [esp + 0x3468]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x346c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3450]
mov dword [esp + 0x3478], eax
mov ecx, dword [esp + 0x3478]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x413495
lea eax, [esp + 0x3450]
mov dword [esp + 0x347c], eax
mov eax, dword [esp + 0x347c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x344c], eax
mov eax, dword [esp + 0x344c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x344c], ecx
cmp eax, 0
je 0x413493
mov eax, dword [esp + 0x344c]
lea ecx, [esp + 0x3450]
mov dword [esp + 0x3494], ecx
mov dword [esp + 0x3490], eax
mov eax, dword [esp + 0x3494]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3490]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x349c], 0xfa163a65
mov dword [esp + 0x3498], 0x3cac0f85
mov eax, dword [esp + 0x349c]
mov dword [esp + 0x348c], ecx
mov dword [esp + 0x3488], eax
mov eax, dword [esp + 0x3488]
mov dword [esp + 0x3484], eax
mov eax, dword [esp + 0x348c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x348c], ecx
mov al, byte [eax]
mov byte [esp + 0x3483], al
cmp byte [esp + 0x3483], 0
je 0x413466
mov ecx, dword [esp + 0x3484]
mov al, byte [esp + 0x3483]
mov dword [esp + 0x34cc], ecx
mov byte [esp + 0x34cb], al
mov eax, dword [esp + 0x34cc]
mov dword [esp + 0x2848], eax
movsx eax, byte [esp + 0x34cb]
cmp eax, 0x41
jl 0x413435
movsx eax, byte [esp + 0x34cb]
cmp eax, 0x5a
jg 0x413435
movsx eax, byte [esp + 0x34cb]
or eax, 0x20
mov dword [esp + 0x2844], eax
jmp 0x413444
movsx eax, byte [esp + 0x34cb]
mov dword [esp + 0x2844], eax
mov eax, dword [esp + 0x2848]
mov ecx, dword [esp + 0x2844]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3484], eax
jmp 0x4133b3
mov eax, dword [esp + 0x3484]
mov dword [esp + 0x34a4], 0xfa163a65
mov dword [esp + 0x34a0], 0x3cac0f85
mov ecx, dword [esp + 0x34a0]
cmp eax, ecx
je 0x4134c3
jmp 0x413323
jmp 0x413495
lea eax, [esp + 0x345c]
mov dword [esp + 0x34b8], eax
mov eax, dword [esp + 0x34b8]
mov ecx, dword [eax]
mov dword [esp + 0x34d0], ecx
mov ecx, dword [esp + 0x34d0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x413262
mov eax, dword [esp + 0x344c]
lea ecx, [esp + 0x3450]
mov dword [esp + 0x34b4], ecx
mov dword [esp + 0x34b0], eax
mov eax, dword [esp + 0x34b4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x34ac], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x34a8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x34ac]
mov edx, dword [esp + 0x34a8]
mov esi, dword [esp + 0x34b0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3460], eax
mov eax, dword [esp + 0x3460]
mov dword [esp + 0x283c], eax
mov eax, dword [esp + 0x2c0c]
mov dword [esp + 0x2f20], eax
mov eax, dword [esp + 0x2f20]
mov dword [esp + 0x2f4c], eax
mov eax, dword [esp + 0x2f4c]
mov dword [esp + 0x2840], eax
mov dword [esp + 0x3018], eax
mov eax, dword [esp + 0x3018]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x4135f3
mov eax, dword [esp + 0x2840]
mov dword [esp + 0x3164], eax
mov dword [esp + 0x3160], eax
mov eax, dword [esp + 0x3164]
mov dword [esp + 0x2838], eax
mov dword [esp + 0x315c], 0
cmp dword [esp + 0x315c], 0x10
jge 0x4135f1
mov eax, dword [esp + 0x2838]
mov ecx, dword [esp + 0x3160]
mov edx, dword [esp + 0x315c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x315c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x315c]
add eax, 1
mov dword [esp + 0x315c], eax
jmp 0x4135a6
jmp 0x4135f3
mov eax, dword [esp + 0x283c]
mov ecx, dword [esp + 0x2840]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2b7c]
cmp dword [eax], 0
jne 0x413627
mov eax, dword [esp + 0x2b7c]
cmp dword [eax + 0x10], 0
jne 0x413627
jmp 0x433f6a
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2b7c]
mov ecx, dword [ecx + 0xc]
add eax, ecx
mov dword [esp + 0x2b50], eax
lea ecx, [esp + 0x2b3f]
lea eax, [esp + 0x2b3e]
mov dword [esp], eax
call fcn.004341e0
sub esp, 4
lea eax, [esp + 0x2b4f]
mov dword [esp + 0x2c18], eax
lea eax, [esp + 0x2b3f]
mov dword [esp + 0x2c14], eax
lea eax, [esp + 0x34e4]
mov dword [esp + 0x34ec], eax
mov eax, dword [esp + 0x34ec]
mov dword [esp + 0x3548], 0x30
mov ecx, dword [esp + 0x3548]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3544], ecx
mov ecx, dword [esp + 0x3544]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x34e4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x34d8]
mov dword [esp + 0x34fc], ecx
mov dword [esp + 0x34f8], eax
mov eax, dword [esp + 0x34fc]
mov ecx, dword [esp + 0x34f8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x34f8]
mov dword [esp + 0x354c], ecx
mov ecx, dword [esp + 0x354c]
mov edx, dword [esp + 0x354c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x34f0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x34f4], ecx
mov ecx, dword [esp + 0x34f8]
add ecx, dword [esp + 0x34f0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34f4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x34d8]
mov dword [esp + 0x3500], eax
mov ecx, dword [esp + 0x3500]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4138e5
lea eax, [esp + 0x34d8]
mov dword [esp + 0x3504], eax
mov eax, dword [esp + 0x3504]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x34d4], eax
mov eax, dword [esp + 0x34d4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x34d4], ecx
cmp eax, 0
je 0x4138e3
mov eax, dword [esp + 0x34d4]
lea ecx, [esp + 0x34d8]
mov dword [esp + 0x351c], ecx
mov dword [esp + 0x3518], eax
mov eax, dword [esp + 0x351c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3518]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3524], 0xc81da27b
mov dword [esp + 0x3520], 0xfc4264c7
mov eax, dword [esp + 0x3524]
mov dword [esp + 0x3514], ecx
mov dword [esp + 0x3510], eax
mov eax, dword [esp + 0x3510]
mov dword [esp + 0x350c], eax
mov eax, dword [esp + 0x3514]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3514], ecx
mov al, byte [eax]
mov byte [esp + 0x350b], al
cmp byte [esp + 0x350b], 0
je 0x4138b6
mov ecx, dword [esp + 0x350c]
mov al, byte [esp + 0x350b]
mov dword [esp + 0x3554], ecx
mov byte [esp + 0x3553], al
mov eax, dword [esp + 0x3554]
mov dword [esp + 0x2834], eax
movsx eax, byte [esp + 0x3553]
cmp eax, 0x41
jl 0x413885
movsx eax, byte [esp + 0x3553]
cmp eax, 0x5a
jg 0x413885
movsx eax, byte [esp + 0x3553]
or eax, 0x20
mov dword [esp + 0x2830], eax
jmp 0x413894
movsx eax, byte [esp + 0x3553]
mov dword [esp + 0x2830], eax
mov eax, dword [esp + 0x2834]
mov ecx, dword [esp + 0x2830]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x350c], eax
jmp 0x413803
mov eax, dword [esp + 0x350c]
mov dword [esp + 0x352c], 0xc81da27b
mov dword [esp + 0x3528], 0xfc4264c7
mov ecx, dword [esp + 0x3528]
cmp eax, ecx
je 0x413913
jmp 0x413773
jmp 0x4138e5
lea eax, [esp + 0x34e4]
mov dword [esp + 0x3540], eax
mov eax, dword [esp + 0x3540]
mov ecx, dword [eax]
mov dword [esp + 0x3558], ecx
mov ecx, dword [esp + 0x3558]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4136b2
mov eax, dword [esp + 0x34d4]
lea ecx, [esp + 0x34d8]
mov dword [esp + 0x353c], ecx
mov dword [esp + 0x3538], eax
mov eax, dword [esp + 0x353c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3534], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3530], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3534]
mov edx, dword [esp + 0x3530]
mov esi, dword [esp + 0x3538]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x34e8], eax
mov eax, dword [esp + 0x34e8]
mov dword [esp + 0x2828], eax
mov eax, dword [esp + 0x2c14]
mov dword [esp + 0x2f1c], eax
mov eax, dword [esp + 0x2f1c]
mov dword [esp + 0x2f50], eax
mov eax, dword [esp + 0x2f50]
mov dword [esp + 0x282c], eax
mov dword [esp + 0x3014], eax
mov eax, dword [esp + 0x3014]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x413a43
mov eax, dword [esp + 0x282c]
mov dword [esp + 0x3158], eax
mov dword [esp + 0x3154], eax
mov eax, dword [esp + 0x3158]
mov dword [esp + 0x2824], eax
mov dword [esp + 0x3150], 0
cmp dword [esp + 0x3150], 0x10
jge 0x413a41
mov eax, dword [esp + 0x2824]
mov ecx, dword [esp + 0x3154]
mov edx, dword [esp + 0x3150]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3150]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3150]
add eax, 1
mov dword [esp + 0x3150], eax
jmp 0x4139f6
jmp 0x413a43
mov eax, dword [esp + 0x2828]
mov ecx, dword [esp + 0x282c]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2b7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2b38], eax
lea ecx, [esp + 0x2b27]
lea eax, [esp + 0x2b26]
mov dword [esp], eax
call fcn.00434240
sub esp, 4
lea eax, [esp + 0x2b37]
mov dword [esp + 0x2c20], eax
lea eax, [esp + 0x2b27]
mov dword [esp + 0x2c1c], eax
lea eax, [esp + 0x356c]
mov dword [esp + 0x3574], eax
mov eax, dword [esp + 0x3574]
mov dword [esp + 0x35d0], 0x30
mov ecx, dword [esp + 0x35d0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x35cc], ecx
mov ecx, dword [esp + 0x35cc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x356c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3560]
mov dword [esp + 0x3584], ecx
mov dword [esp + 0x3580], eax
mov eax, dword [esp + 0x3584]
mov ecx, dword [esp + 0x3580]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3580]
mov dword [esp + 0x35d4], ecx
mov ecx, dword [esp + 0x35d4]
mov edx, dword [esp + 0x35d4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3578], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x357c], ecx
mov ecx, dword [esp + 0x3580]
add ecx, dword [esp + 0x3578]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x357c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3560]
mov dword [esp + 0x3588], eax
mov ecx, dword [esp + 0x3588]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x413d12
lea eax, [esp + 0x3560]
mov dword [esp + 0x358c], eax
mov eax, dword [esp + 0x358c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x355c], eax
mov eax, dword [esp + 0x355c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x355c], ecx
cmp eax, 0
je 0x413d10
mov eax, dword [esp + 0x355c]
lea ecx, [esp + 0x3560]
mov dword [esp + 0x35a4], ecx
mov dword [esp + 0x35a0], eax
mov eax, dword [esp + 0x35a4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x35a0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x35ac], 0x7413d033
mov dword [esp + 0x35a8], 0x46665e2f
mov eax, dword [esp + 0x35ac]
mov dword [esp + 0x359c], ecx
mov dword [esp + 0x3598], eax
mov eax, dword [esp + 0x3598]
mov dword [esp + 0x3594], eax
mov eax, dword [esp + 0x359c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x359c], ecx
mov al, byte [eax]
mov byte [esp + 0x3593], al
cmp byte [esp + 0x3593], 0
je 0x413ce3
mov ecx, dword [esp + 0x3594]
mov al, byte [esp + 0x3593]
mov dword [esp + 0x35dc], ecx
mov byte [esp + 0x35db], al
mov eax, dword [esp + 0x35dc]
mov dword [esp + 0x2820], eax
movsx eax, byte [esp + 0x35db]
cmp eax, 0x41
jl 0x413cb2
movsx eax, byte [esp + 0x35db]
cmp eax, 0x5a
jg 0x413cb2
movsx eax, byte [esp + 0x35db]
or eax, 0x20
mov dword [esp + 0x281c], eax
jmp 0x413cc1
movsx eax, byte [esp + 0x35db]
mov dword [esp + 0x281c], eax
mov eax, dword [esp + 0x2820]
mov ecx, dword [esp + 0x281c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3594], eax
jmp 0x413c30
mov eax, dword [esp + 0x3594]
mov dword [esp + 0x35b4], 0x7413d033
mov dword [esp + 0x35b0], 0x46665e2f
mov ecx, dword [esp + 0x35b0]
cmp eax, ecx
je 0x413d40
jmp 0x413ba0
jmp 0x413d12
lea eax, [esp + 0x356c]
mov dword [esp + 0x35c8], eax
mov eax, dword [esp + 0x35c8]
mov ecx, dword [eax]
mov dword [esp + 0x35e0], ecx
mov ecx, dword [esp + 0x35e0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x413adf
mov eax, dword [esp + 0x355c]
lea ecx, [esp + 0x3560]
mov dword [esp + 0x35c4], ecx
mov dword [esp + 0x35c0], eax
mov eax, dword [esp + 0x35c4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x35bc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x35b8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x35bc]
mov edx, dword [esp + 0x35b8]
mov esi, dword [esp + 0x35c0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3570], eax
mov eax, dword [esp + 0x3570]
mov dword [esp + 0x2814], eax
mov eax, dword [esp + 0x2c1c]
mov dword [esp + 0x2f18], eax
mov eax, dword [esp + 0x2f18]
mov dword [esp + 0x2f54], eax
mov eax, dword [esp + 0x2f54]
mov dword [esp + 0x2818], eax
mov dword [esp + 0x3010], eax
mov eax, dword [esp + 0x3010]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x413e70
mov eax, dword [esp + 0x2818]
mov dword [esp + 0x314c], eax
mov dword [esp + 0x3148], eax
mov eax, dword [esp + 0x314c]
mov dword [esp + 0x2810], eax
mov dword [esp + 0x3144], 0
cmp dword [esp + 0x3144], 0x10
jge 0x413e6e
mov eax, dword [esp + 0x2810]
mov ecx, dword [esp + 0x3148]
mov edx, dword [esp + 0x3144]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3144]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3144]
add eax, 1
mov dword [esp + 0x3144], eax
jmp 0x413e23
jmp 0x413e70
mov eax, dword [esp + 0x2814]
mov ecx, dword [esp + 0x2818]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2b7c]
mov eax, dword [eax]
mov dword [esp + 0x2b20], eax
lea ecx, [esp + 0x2b0f]
lea eax, [esp + 0x2b0e]
mov dword [esp], eax
call fcn.004342a0
sub esp, 4
lea eax, [esp + 0x2b1f]
mov dword [esp + 0x2c28], eax
lea eax, [esp + 0x2b0f]
mov dword [esp + 0x2c24], eax
lea eax, [esp + 0x35f4]
mov dword [esp + 0x35fc], eax
mov eax, dword [esp + 0x35fc]
mov dword [esp + 0x3658], 0x30
mov ecx, dword [esp + 0x3658]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3654], ecx
mov ecx, dword [esp + 0x3654]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x35f4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x35e8]
mov dword [esp + 0x360c], ecx
mov dword [esp + 0x3608], eax
mov eax, dword [esp + 0x360c]
mov ecx, dword [esp + 0x3608]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3608]
mov dword [esp + 0x365c], ecx
mov ecx, dword [esp + 0x365c]
mov edx, dword [esp + 0x365c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3600], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3604], ecx
mov ecx, dword [esp + 0x3608]
add ecx, dword [esp + 0x3600]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3604]
mov dword [eax + 8], ecx
lea eax, [esp + 0x35e8]
mov dword [esp + 0x3610], eax
mov ecx, dword [esp + 0x3610]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x41413e
lea eax, [esp + 0x35e8]
mov dword [esp + 0x3614], eax
mov eax, dword [esp + 0x3614]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x35e4], eax
mov eax, dword [esp + 0x35e4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x35e4], ecx
cmp eax, 0
je 0x41413c
mov eax, dword [esp + 0x35e4]
lea ecx, [esp + 0x35e8]
mov dword [esp + 0x362c], ecx
mov dword [esp + 0x3628], eax
mov eax, dword [esp + 0x362c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3628]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3634], 0x5b3bffa4
mov dword [esp + 0x3630], 0x6ce92aac
mov eax, dword [esp + 0x3634]
mov dword [esp + 0x3624], ecx
mov dword [esp + 0x3620], eax
mov eax, dword [esp + 0x3620]
mov dword [esp + 0x361c], eax
mov eax, dword [esp + 0x3624]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3624], ecx
mov al, byte [eax]
mov byte [esp + 0x361b], al
cmp byte [esp + 0x361b], 0
je 0x41410f
mov ecx, dword [esp + 0x361c]
mov al, byte [esp + 0x361b]
mov dword [esp + 0x3664], ecx
mov byte [esp + 0x3663], al
mov eax, dword [esp + 0x3664]
mov dword [esp + 0x280c], eax
movsx eax, byte [esp + 0x3663]
cmp eax, 0x41
jl 0x4140de
movsx eax, byte [esp + 0x3663]
cmp eax, 0x5a
jg 0x4140de
movsx eax, byte [esp + 0x3663]
or eax, 0x20
mov dword [esp + 0x2808], eax
jmp 0x4140ed
movsx eax, byte [esp + 0x3663]
mov dword [esp + 0x2808], eax
mov eax, dword [esp + 0x280c]
mov ecx, dword [esp + 0x2808]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x361c], eax
jmp 0x41405c
mov eax, dword [esp + 0x361c]
mov dword [esp + 0x363c], 0x5b3bffa4
mov dword [esp + 0x3638], 0x6ce92aac
mov ecx, dword [esp + 0x3638]
cmp eax, ecx
je 0x41416c
jmp 0x413fcc
jmp 0x41413e
lea eax, [esp + 0x35f4]
mov dword [esp + 0x3650], eax
mov eax, dword [esp + 0x3650]
mov ecx, dword [eax]
mov dword [esp + 0x3668], ecx
mov ecx, dword [esp + 0x3668]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x413f0b
mov eax, dword [esp + 0x35e4]
lea ecx, [esp + 0x35e8]
mov dword [esp + 0x364c], ecx
mov dword [esp + 0x3648], eax
mov eax, dword [esp + 0x364c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3644], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3640], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3644]
mov edx, dword [esp + 0x3640]
mov esi, dword [esp + 0x3648]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x35f8], eax
mov eax, dword [esp + 0x35f8]
mov dword [esp + 0x2800], eax
mov eax, dword [esp + 0x2c24]
mov dword [esp + 0x2f14], eax
mov eax, dword [esp + 0x2f14]
mov dword [esp + 0x2f58], eax
mov eax, dword [esp + 0x2f58]
mov dword [esp + 0x2804], eax
mov dword [esp + 0x300c], eax
mov eax, dword [esp + 0x300c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x41429c
mov eax, dword [esp + 0x2804]
mov dword [esp + 0x3140], eax
mov dword [esp + 0x313c], eax
mov eax, dword [esp + 0x3140]
mov dword [esp + 0x27fc], eax
mov dword [esp + 0x3138], 0
cmp dword [esp + 0x3138], 0x10
jge 0x41429a
mov eax, dword [esp + 0x27fc]
mov ecx, dword [esp + 0x313c]
mov edx, dword [esp + 0x3138]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3138]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3138]
add eax, 1
mov dword [esp + 0x3138], eax
jmp 0x41424f
jmp 0x41429c
mov eax, dword [esp + 0x2800]
mov ecx, dword [esp + 0x2804]
mov dword [esp], ecx
call eax
sub esp, 4
cmp dword [esp + 0x2b20], 0
jne 0x4142cd
mov eax, dword [esp + 0x2b7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2b20], eax
lea ecx, [esp + 0x2afd]
lea eax, [esp + 0x2afc]
mov dword [esp], eax
call fcn.00434300
sub esp, 4
lea eax, [esp + 0x2b0d]
mov dword [esp + 0x2c30], eax
lea eax, [esp + 0x2afd]
mov dword [esp + 0x2c2c], eax
lea eax, [esp + 0x367c]
mov dword [esp + 0x3684], eax
mov eax, dword [esp + 0x3684]
mov dword [esp + 0x36e0], 0x30
mov ecx, dword [esp + 0x36e0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x36dc], ecx
mov ecx, dword [esp + 0x36dc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x367c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3670]
mov dword [esp + 0x3694], ecx
mov dword [esp + 0x3690], eax
mov eax, dword [esp + 0x3694]
mov ecx, dword [esp + 0x3690]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3690]
mov dword [esp + 0x36e4], ecx
mov ecx, dword [esp + 0x36e4]
mov edx, dword [esp + 0x36e4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3688], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x368c], ecx
mov ecx, dword [esp + 0x3690]
add ecx, dword [esp + 0x3688]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x368c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3670]
mov dword [esp + 0x3698], eax
mov ecx, dword [esp + 0x3698]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x414575
lea eax, [esp + 0x3670]
mov dword [esp + 0x369c], eax
mov eax, dword [esp + 0x369c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x366c], eax
mov eax, dword [esp + 0x366c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x366c], ecx
cmp eax, 0
je 0x414573
mov eax, dword [esp + 0x366c]
lea ecx, [esp + 0x3670]
mov dword [esp + 0x36b4], ecx
mov dword [esp + 0x36b0], eax
mov eax, dword [esp + 0x36b4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x36b0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x36bc], 0xfc80d49e
mov dword [esp + 0x36b8], 0x69108022
mov eax, dword [esp + 0x36bc]
mov dword [esp + 0x36ac], ecx
mov dword [esp + 0x36a8], eax
mov eax, dword [esp + 0x36a8]
mov dword [esp + 0x36a4], eax
mov eax, dword [esp + 0x36ac]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x36ac], ecx
mov al, byte [eax]
mov byte [esp + 0x36a3], al
cmp byte [esp + 0x36a3], 0
je 0x414546
mov ecx, dword [esp + 0x36a4]
mov al, byte [esp + 0x36a3]
mov dword [esp + 0x36ec], ecx
mov byte [esp + 0x36eb], al
mov eax, dword [esp + 0x36ec]
mov dword [esp + 0x27f8], eax
movsx eax, byte [esp + 0x36eb]
cmp eax, 0x41
jl 0x414515
movsx eax, byte [esp + 0x36eb]
cmp eax, 0x5a
jg 0x414515
movsx eax, byte [esp + 0x36eb]
or eax, 0x20
mov dword [esp + 0x27f4], eax
jmp 0x414524
movsx eax, byte [esp + 0x36eb]
mov dword [esp + 0x27f4], eax
mov eax, dword [esp + 0x27f8]
mov ecx, dword [esp + 0x27f4]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x36a4], eax
jmp 0x414493
mov eax, dword [esp + 0x36a4]
mov dword [esp + 0x36c4], 0xfc80d49e
mov dword [esp + 0x36c0], 0x69108022
mov ecx, dword [esp + 0x36c0]
cmp eax, ecx
je 0x4145a3
jmp 0x414403
jmp 0x414575
lea eax, [esp + 0x367c]
mov dword [esp + 0x36d8], eax
mov eax, dword [esp + 0x36d8]
mov ecx, dword [eax]
mov dword [esp + 0x36f0], ecx
mov ecx, dword [esp + 0x36f0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x414342
mov eax, dword [esp + 0x366c]
lea ecx, [esp + 0x3670]
mov dword [esp + 0x36d4], ecx
mov dword [esp + 0x36d0], eax
mov eax, dword [esp + 0x36d4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x36cc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x36c8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x36cc]
mov edx, dword [esp + 0x36c8]
mov esi, dword [esp + 0x36d0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3680], eax
mov eax, dword [esp + 0x3680]
mov dword [esp + 0x27ec], eax
mov eax, dword [esp + 0x2c2c]
mov dword [esp + 0x2f10], eax
mov eax, dword [esp + 0x2f10]
mov dword [esp + 0x2f5c], eax
mov eax, dword [esp + 0x2f5c]
mov dword [esp + 0x27f0], eax
mov dword [esp + 0x3008], eax
mov eax, dword [esp + 0x3008]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x4146d3
mov eax, dword [esp + 0x27f0]
mov dword [esp + 0x3134], eax
mov dword [esp + 0x3130], eax
mov eax, dword [esp + 0x3134]
mov dword [esp + 0x27e8], eax
mov dword [esp + 0x312c], 0
cmp dword [esp + 0x312c], 0x10
jge 0x4146d1
mov eax, dword [esp + 0x27e8]
mov ecx, dword [esp + 0x3130]
mov edx, dword [esp + 0x312c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x312c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x312c]
add eax, 1
mov dword [esp + 0x312c], eax
jmp 0x414686
jmp 0x4146d3
mov eax, dword [esp + 0x27ec]
mov ecx, dword [esp + 0x27f0]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [esp + 0x2af8], 0
lea ecx, [esp + 0x2ae7]
lea eax, [esp + 0x2ae6]
mov dword [esp], eax
call fcn.00434360
sub esp, 4
lea eax, [esp + 0x2af7]
mov dword [esp + 0x2c38], eax
lea eax, [esp + 0x2ae7]
mov dword [esp + 0x2c34], eax
lea eax, [esp + 0x3704]
mov dword [esp + 0x370c], eax
mov eax, dword [esp + 0x370c]
mov dword [esp + 0x3768], 0x30
mov ecx, dword [esp + 0x3768]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3764], ecx
mov ecx, dword [esp + 0x3764]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3704]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x36f8]
mov dword [esp + 0x371c], ecx
mov dword [esp + 0x3718], eax
mov eax, dword [esp + 0x371c]
mov ecx, dword [esp + 0x3718]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3718]
mov dword [esp + 0x376c], ecx
mov ecx, dword [esp + 0x376c]
mov edx, dword [esp + 0x376c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3710], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3714], ecx
mov ecx, dword [esp + 0x3718]
add ecx, dword [esp + 0x3710]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3714]
mov dword [eax + 8], ecx
lea eax, [esp + 0x36f8]
mov dword [esp + 0x3720], eax
mov ecx, dword [esp + 0x3720]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x41499c
lea eax, [esp + 0x36f8]
mov dword [esp + 0x3724], eax
mov eax, dword [esp + 0x3724]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x36f4], eax
mov eax, dword [esp + 0x36f4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x36f4], ecx
cmp eax, 0
je 0x41499a
mov eax, dword [esp + 0x36f4]
lea ecx, [esp + 0x36f8]
mov dword [esp + 0x373c], ecx
mov dword [esp + 0x3738], eax
mov eax, dword [esp + 0x373c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3738]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3744], 0xec3909a2
mov dword [esp + 0x3740], 0x7fc69486
mov eax, dword [esp + 0x3744]
mov dword [esp + 0x3734], ecx
mov dword [esp + 0x3730], eax
mov eax, dword [esp + 0x3730]
mov dword [esp + 0x372c], eax
mov eax, dword [esp + 0x3734]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3734], ecx
mov al, byte [eax]
mov byte [esp + 0x372b], al
cmp byte [esp + 0x372b], 0
je 0x41496d
mov ecx, dword [esp + 0x372c]
mov al, byte [esp + 0x372b]
mov dword [esp + 0x3774], ecx
mov byte [esp + 0x3773], al
mov eax, dword [esp + 0x3774]
mov dword [esp + 0x27e4], eax
movsx eax, byte [esp + 0x3773]
cmp eax, 0x41
jl 0x41493c
movsx eax, byte [esp + 0x3773]
cmp eax, 0x5a
jg 0x41493c
movsx eax, byte [esp + 0x3773]
or eax, 0x20
mov dword [esp + 0x27e0], eax
jmp 0x41494b
movsx eax, byte [esp + 0x3773]
mov dword [esp + 0x27e0], eax
mov eax, dword [esp + 0x27e4]
mov ecx, dword [esp + 0x27e0]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x372c], eax
jmp 0x4148ba
mov eax, dword [esp + 0x372c]
mov dword [esp + 0x374c], 0xec3909a2
mov dword [esp + 0x3748], 0x7fc69486
mov ecx, dword [esp + 0x3748]
cmp eax, ecx
je 0x4149ca
jmp 0x41482a
jmp 0x41499c
lea eax, [esp + 0x3704]
mov dword [esp + 0x3760], eax
mov eax, dword [esp + 0x3760]
mov ecx, dword [eax]
mov dword [esp + 0x3778], ecx
mov ecx, dword [esp + 0x3778]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x414769
mov eax, dword [esp + 0x36f4]
lea ecx, [esp + 0x36f8]
mov dword [esp + 0x375c], ecx
mov dword [esp + 0x3758], eax
mov eax, dword [esp + 0x375c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3754], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3750], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3754]
mov edx, dword [esp + 0x3750]
mov esi, dword [esp + 0x3758]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3708], eax
mov eax, dword [esp + 0x3708]
mov dword [esp + 0x27d8], eax
mov eax, dword [esp + 0x2c34]
mov dword [esp + 0x2f0c], eax
mov eax, dword [esp + 0x2f0c]
mov dword [esp + 0x2f60], eax
mov eax, dword [esp + 0x2f60]
mov dword [esp + 0x27dc], eax
mov dword [esp + 0x3004], eax
mov eax, dword [esp + 0x3004]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x414afa
mov eax, dword [esp + 0x27dc]
mov dword [esp + 0x3128], eax
mov dword [esp + 0x3124], eax
mov eax, dword [esp + 0x3128]
mov dword [esp + 0x27d4], eax
mov dword [esp + 0x3120], 0
cmp dword [esp + 0x3120], 0x10
jge 0x414af8
mov eax, dword [esp + 0x27d4]
mov ecx, dword [esp + 0x3124]
mov edx, dword [esp + 0x3120]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3120]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3120]
add eax, 1
mov dword [esp + 0x3120], eax
jmp 0x414aad
jmp 0x414afa
mov eax, dword [esp + 0x27d8]
mov ecx, dword [esp + 0x27dc]
mov dword [esp], ecx
call eax
sub esp, 4
mov dword [esp + 0x2ae0], 0
lea ecx, [esp + 0x2acf]
lea eax, [esp + 0x2ace]
mov dword [esp], eax
call fcn.004343c0
sub esp, 4
lea eax, [esp + 0x2adf]
mov dword [esp + 0x2c40], eax
lea eax, [esp + 0x2acf]
mov dword [esp + 0x2c3c], eax
lea eax, [esp + 0x378c]
mov dword [esp + 0x3794], eax
mov eax, dword [esp + 0x3794]
mov dword [esp + 0x37f0], 0x30
mov ecx, dword [esp + 0x37f0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x37ec], ecx
mov ecx, dword [esp + 0x37ec]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x378c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3780]
mov dword [esp + 0x37a4], ecx
mov dword [esp + 0x37a0], eax
mov eax, dword [esp + 0x37a4]
mov ecx, dword [esp + 0x37a0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x37a0]
mov dword [esp + 0x37f4], ecx
mov ecx, dword [esp + 0x37f4]
mov edx, dword [esp + 0x37f4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3798], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x379c], ecx
mov ecx, dword [esp + 0x37a0]
add ecx, dword [esp + 0x3798]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x379c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3780]
mov dword [esp + 0x37a8], eax
mov ecx, dword [esp + 0x37a8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x414dc3
lea eax, [esp + 0x3780]
mov dword [esp + 0x37ac], eax
mov eax, dword [esp + 0x37ac]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x377c], eax
mov eax, dword [esp + 0x377c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x377c], ecx
cmp eax, 0
je 0x414dc1
mov eax, dword [esp + 0x377c]
lea ecx, [esp + 0x3780]
mov dword [esp + 0x37c4], ecx
mov dword [esp + 0x37c0], eax
mov eax, dword [esp + 0x37c4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x37c0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x37cc], 0xe42af5a1
mov dword [esp + 0x37c8], 0x327f48f1
mov eax, dword [esp + 0x37cc]
mov dword [esp + 0x37bc], ecx
mov dword [esp + 0x37b8], eax
mov eax, dword [esp + 0x37b8]
mov dword [esp + 0x37b4], eax
mov eax, dword [esp + 0x37bc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x37bc], ecx
mov al, byte [eax]
mov byte [esp + 0x37b3], al
cmp byte [esp + 0x37b3], 0
je 0x414d94
mov ecx, dword [esp + 0x37b4]
mov al, byte [esp + 0x37b3]
mov dword [esp + 0x37fc], ecx
mov byte [esp + 0x37fb], al
mov eax, dword [esp + 0x37fc]
mov dword [esp + 0x27d0], eax
movsx eax, byte [esp + 0x37fb]
cmp eax, 0x41
jl 0x414d63
movsx eax, byte [esp + 0x37fb]
cmp eax, 0x5a
jg 0x414d63
movsx eax, byte [esp + 0x37fb]
or eax, 0x20
mov dword [esp + 0x27cc], eax
jmp 0x414d72
movsx eax, byte [esp + 0x37fb]
mov dword [esp + 0x27cc], eax
mov eax, dword [esp + 0x27d0]
mov ecx, dword [esp + 0x27cc]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x37b4], eax
jmp 0x414ce1
mov eax, dword [esp + 0x37b4]
mov dword [esp + 0x37d4], 0xe42af5a1
mov dword [esp + 0x37d0], 0x327f48f1
mov ecx, dword [esp + 0x37d0]
cmp eax, ecx
je 0x414df1
jmp 0x414c51
jmp 0x414dc3
lea eax, [esp + 0x378c]
mov dword [esp + 0x37e8], eax
mov eax, dword [esp + 0x37e8]
mov ecx, dword [eax]
mov dword [esp + 0x3800], ecx
mov ecx, dword [esp + 0x3800]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x414b90
mov eax, dword [esp + 0x377c]
lea ecx, [esp + 0x3780]
mov dword [esp + 0x37e4], ecx
mov dword [esp + 0x37e0], eax
mov eax, dword [esp + 0x37e4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x37dc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x37d8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x37dc]
mov edx, dword [esp + 0x37d8]
mov esi, dword [esp + 0x37e0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3790], eax
mov eax, dword [esp + 0x3790]
mov dword [esp + 0x27c4], eax
mov eax, dword [esp + 0x2c3c]
mov dword [esp + 0x2f08], eax
mov eax, dword [esp + 0x2f08]
mov dword [esp + 0x2f64], eax
mov eax, dword [esp + 0x2f64]
mov dword [esp + 0x27c8], eax
mov dword [esp + 0x3000], eax
mov eax, dword [esp + 0x3000]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x414f21
mov eax, dword [esp + 0x27c8]
mov dword [esp + 0x311c], eax
mov dword [esp + 0x3118], eax
mov eax, dword [esp + 0x311c]
mov dword [esp + 0x27c0], eax
mov dword [esp + 0x3114], 0
cmp dword [esp + 0x3114], 0x10
jge 0x414f1f
mov eax, dword [esp + 0x27c0]
mov ecx, dword [esp + 0x3118]
mov edx, dword [esp + 0x3114]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3114]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3114]
add eax, 1
mov dword [esp + 0x3114], eax
jmp 0x414ed4
jmp 0x414f21
mov eax, dword [esp + 0x27c4]
mov ecx, dword [esp + 0x27c8]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [ebp + 8]
add eax, dword [esp + 0x2af8]
add eax, dword [esp + 0x2b38]
mov dword [esp + 0x2ac8], eax
lea ecx, [esp + 0x2ab7]
lea eax, [esp + 0x2ab6]
mov dword [esp], eax
call fcn.00434420
sub esp, 4
lea eax, [esp + 0x2ac7]
mov dword [esp + 0x2c48], eax
lea eax, [esp + 0x2ab7]
mov dword [esp + 0x2c44], eax
lea eax, [esp + 0x3814]
mov dword [esp + 0x381c], eax
mov eax, dword [esp + 0x381c]
mov dword [esp + 0x3878], 0x30
mov ecx, dword [esp + 0x3878]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3874], ecx
mov ecx, dword [esp + 0x3874]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3814]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3808]
mov dword [esp + 0x382c], ecx
mov dword [esp + 0x3828], eax
mov eax, dword [esp + 0x382c]
mov ecx, dword [esp + 0x3828]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3828]
mov dword [esp + 0x387c], ecx
mov ecx, dword [esp + 0x387c]
mov edx, dword [esp + 0x387c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3820], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3824], ecx
mov ecx, dword [esp + 0x3828]
add ecx, dword [esp + 0x3820]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3824]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3808]
mov dword [esp + 0x3830], eax
mov ecx, dword [esp + 0x3830]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4151f7
lea eax, [esp + 0x3808]
mov dword [esp + 0x3834], eax
mov eax, dword [esp + 0x3834]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3804], eax
mov eax, dword [esp + 0x3804]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3804], ecx
cmp eax, 0
je 0x4151f5
mov eax, dword [esp + 0x3804]
lea ecx, [esp + 0x3808]
mov dword [esp + 0x384c], ecx
mov dword [esp + 0x3848], eax
mov eax, dword [esp + 0x384c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3848]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3854], 0x7bc19409
mov dword [esp + 0x3850], 0xd4a0de9
mov eax, dword [esp + 0x3854]
mov dword [esp + 0x3844], ecx
mov dword [esp + 0x3840], eax
mov eax, dword [esp + 0x3840]
mov dword [esp + 0x383c], eax
mov eax, dword [esp + 0x3844]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3844], ecx
mov al, byte [eax]
mov byte [esp + 0x383b], al
cmp byte [esp + 0x383b], 0
je 0x4151c8
mov ecx, dword [esp + 0x383c]
mov al, byte [esp + 0x383b]
mov dword [esp + 0x3884], ecx
mov byte [esp + 0x3883], al
mov eax, dword [esp + 0x3884]
mov dword [esp + 0x27bc], eax
movsx eax, byte [esp + 0x3883]
cmp eax, 0x41
jl 0x415197
movsx eax, byte [esp + 0x3883]
cmp eax, 0x5a
jg 0x415197
movsx eax, byte [esp + 0x3883]
or eax, 0x20
mov dword [esp + 0x27b8], eax
jmp 0x4151a6
movsx eax, byte [esp + 0x3883]
mov dword [esp + 0x27b8], eax
mov eax, dword [esp + 0x27bc]
mov ecx, dword [esp + 0x27b8]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x383c], eax
jmp 0x415115
mov eax, dword [esp + 0x383c]
mov dword [esp + 0x385c], 0x7bc19409
mov dword [esp + 0x3858], 0xd4a0de9
mov ecx, dword [esp + 0x3858]
cmp eax, ecx
je 0x415225
jmp 0x415085
jmp 0x4151f7
lea eax, [esp + 0x3814]
mov dword [esp + 0x3870], eax
mov eax, dword [esp + 0x3870]
mov ecx, dword [eax]
mov dword [esp + 0x3888], ecx
mov ecx, dword [esp + 0x3888]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x414fc4
mov eax, dword [esp + 0x3804]
lea ecx, [esp + 0x3808]
mov dword [esp + 0x386c], ecx
mov dword [esp + 0x3868], eax
mov eax, dword [esp + 0x386c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3864], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3860], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3864]
mov edx, dword [esp + 0x3860]
mov esi, dword [esp + 0x3868]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3818], eax
mov eax, dword [esp + 0x3818]
mov dword [esp + 0x27b0], eax
mov eax, dword [esp + 0x2c44]
mov dword [esp + 0x2f04], eax
mov eax, dword [esp + 0x2f04]
mov dword [esp + 0x2f68], eax
mov eax, dword [esp + 0x2f68]
mov dword [esp + 0x27b4], eax
mov dword [esp + 0x2ffc], eax
mov eax, dword [esp + 0x2ffc]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x415355
mov eax, dword [esp + 0x27b4]
mov dword [esp + 0x3110], eax
mov dword [esp + 0x310c], eax
mov eax, dword [esp + 0x3110]
mov dword [esp + 0x27ac], eax
mov dword [esp + 0x3108], 0
cmp dword [esp + 0x3108], 0x10
jge 0x415353
mov eax, dword [esp + 0x27ac]
mov ecx, dword [esp + 0x310c]
mov edx, dword [esp + 0x3108]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3108]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3108]
add eax, 1
mov dword [esp + 0x3108], eax
jmp 0x415308
jmp 0x415355
mov eax, dword [esp + 0x27b0]
mov ecx, dword [esp + 0x27b4]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [ebp + 8]
add eax, dword [esp + 0x2ae0]
add eax, dword [esp + 0x2b20]
mov dword [esp + 0x2ab0], eax
lea ecx, [esp + 0x2a9f]
lea eax, [esp + 0x2a9e]
mov dword [esp], eax
call fcn.00434480
sub esp, 4
lea eax, [esp + 0x2aaf]
mov dword [esp + 0x2c50], eax
lea eax, [esp + 0x2a9f]
mov dword [esp + 0x2c4c], eax
lea eax, [esp + 0x389c]
mov dword [esp + 0x38a4], eax
mov eax, dword [esp + 0x38a4]
mov dword [esp + 0x3900], 0x30
mov ecx, dword [esp + 0x3900]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x38fc], ecx
mov ecx, dword [esp + 0x38fc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x389c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3890]
mov dword [esp + 0x38b4], ecx
mov dword [esp + 0x38b0], eax
mov eax, dword [esp + 0x38b4]
mov ecx, dword [esp + 0x38b0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38b0]
mov dword [esp + 0x3904], ecx
mov ecx, dword [esp + 0x3904]
mov edx, dword [esp + 0x3904]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x38a8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x38ac], ecx
mov ecx, dword [esp + 0x38b0]
add ecx, dword [esp + 0x38a8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38ac]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3890]
mov dword [esp + 0x38b8], eax
mov ecx, dword [esp + 0x38b8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x41562b
lea eax, [esp + 0x3890]
mov dword [esp + 0x38bc], eax
mov eax, dword [esp + 0x38bc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x388c], eax
mov eax, dword [esp + 0x388c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x388c], ecx
cmp eax, 0
je 0x415629
mov eax, dword [esp + 0x388c]
lea ecx, [esp + 0x3890]
mov dword [esp + 0x38d4], ecx
mov dword [esp + 0x38d0], eax
mov eax, dword [esp + 0x38d4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x38d0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x38dc], 0xd9ef960e
mov dword [esp + 0x38d8], 0xfee05432
mov eax, dword [esp + 0x38dc]
mov dword [esp + 0x38cc], ecx
mov dword [esp + 0x38c8], eax
mov eax, dword [esp + 0x38c8]
mov dword [esp + 0x38c4], eax
mov eax, dword [esp + 0x38cc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x38cc], ecx
mov al, byte [eax]
mov byte [esp + 0x38c3], al
cmp byte [esp + 0x38c3], 0
je 0x4155fc
mov ecx, dword [esp + 0x38c4]
mov al, byte [esp + 0x38c3]
mov dword [esp + 0x390c], ecx
mov byte [esp + 0x390b], al
mov eax, dword [esp + 0x390c]
mov dword [esp + 0x27a8], eax
movsx eax, byte [esp + 0x390b]
cmp eax, 0x41
jl 0x4155cb
movsx eax, byte [esp + 0x390b]
cmp eax, 0x5a
jg 0x4155cb
movsx eax, byte [esp + 0x390b]
or eax, 0x20
mov dword [esp + 0x27a4], eax
jmp 0x4155da
movsx eax, byte [esp + 0x390b]
mov dword [esp + 0x27a4], eax
mov eax, dword [esp + 0x27a8]
mov ecx, dword [esp + 0x27a4]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x38c4], eax
jmp 0x415549
mov eax, dword [esp + 0x38c4]
mov dword [esp + 0x38e4], 0xd9ef960e
mov dword [esp + 0x38e0], 0xfee05432
mov ecx, dword [esp + 0x38e0]
cmp eax, ecx
je 0x415659
jmp 0x4154b9
jmp 0x41562b
lea eax, [esp + 0x389c]
mov dword [esp + 0x38f8], eax
mov eax, dword [esp + 0x38f8]
mov ecx, dword [eax]
mov dword [esp + 0x3910], ecx
mov ecx, dword [esp + 0x3910]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4153f8
mov eax, dword [esp + 0x388c]
lea ecx, [esp + 0x3890]
mov dword [esp + 0x38f4], ecx
mov dword [esp + 0x38f0], eax
mov eax, dword [esp + 0x38f4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x38ec], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x38e8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x38ec]
mov edx, dword [esp + 0x38e8]
mov esi, dword [esp + 0x38f0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x38a0], eax
mov eax, dword [esp + 0x38a0]
mov dword [esp + 0x279c], eax
mov eax, dword [esp + 0x2c4c]
mov dword [esp + 0x2f00], eax
mov eax, dword [esp + 0x2f00]
mov dword [esp + 0x2f6c], eax
mov eax, dword [esp + 0x2f6c]
mov dword [esp + 0x27a0], eax
mov dword [esp + 0x2ff8], eax
mov eax, dword [esp + 0x2ff8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x415789
mov eax, dword [esp + 0x27a0]
mov dword [esp + 0x3104], eax
mov dword [esp + 0x3100], eax
mov eax, dword [esp + 0x3104]
mov dword [esp + 0x2798], eax
mov dword [esp + 0x30fc], 0
cmp dword [esp + 0x30fc], 0x10
jge 0x415787
mov eax, dword [esp + 0x2798]
mov ecx, dword [esp + 0x3100]
mov edx, dword [esp + 0x30fc]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30fc]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30fc]
add eax, 1
mov dword [esp + 0x30fc], eax
jmp 0x41573c
jmp 0x415789
mov eax, dword [esp + 0x279c]
mov ecx, dword [esp + 0x27a0]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2ab0]
mov eax, dword [eax]
and eax, 0x80000000
cmp eax, 0
jne 0x4157be
mov al, 1
test al, al
jne 0x416040
jmp 0x4157be
mov eax, dword [esp + 0x2b50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub esp, 4
mov ecx, eax
mov eax, dword [esp + 0x2ab0]
mov eax, dword [eax]
and eax, 0xffff
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [esp + 0x2a98], eax
lea ecx, [esp + 0x2a87]
lea eax, [esp + 0x2a86]
mov dword [esp], eax
call fcn.004344e0
sub esp, 4
lea eax, [esp + 0x2a97]
mov dword [esp + 0x2c58], eax
lea eax, [esp + 0x2a87]
mov dword [esp + 0x2c54], eax
lea eax, [esp + 0x3924]
mov dword [esp + 0x392c], eax
mov eax, dword [esp + 0x392c]
mov dword [esp + 0x3988], 0x30
mov ecx, dword [esp + 0x3988]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3984], ecx
mov ecx, dword [esp + 0x3984]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3924]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3918]
mov dword [esp + 0x393c], ecx
mov dword [esp + 0x3938], eax
mov eax, dword [esp + 0x393c]
mov ecx, dword [esp + 0x3938]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3938]
mov dword [esp + 0x398c], ecx
mov ecx, dword [esp + 0x398c]
mov edx, dword [esp + 0x398c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3930], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3934], ecx
mov ecx, dword [esp + 0x3938]
add ecx, dword [esp + 0x3930]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3934]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3918]
mov dword [esp + 0x3940], eax
mov ecx, dword [esp + 0x3940]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x415aa0
lea eax, [esp + 0x3918]
mov dword [esp + 0x3944], eax
mov eax, dword [esp + 0x3944]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3914], eax
mov eax, dword [esp + 0x3914]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3914], ecx
cmp eax, 0
je 0x415a9e
mov eax, dword [esp + 0x3914]
lea ecx, [esp + 0x3918]
mov dword [esp + 0x395c], ecx
mov dword [esp + 0x3958], eax
mov eax, dword [esp + 0x395c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3958]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3964], 0xa1397b91
mov dword [esp + 0x3960], 0x2e59f241
mov eax, dword [esp + 0x3964]
mov dword [esp + 0x3954], ecx
mov dword [esp + 0x3950], eax
mov eax, dword [esp + 0x3950]
mov dword [esp + 0x394c], eax
mov eax, dword [esp + 0x3954]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3954], ecx
mov al, byte [eax]
mov byte [esp + 0x394b], al
cmp byte [esp + 0x394b], 0
je 0x415a71
mov ecx, dword [esp + 0x394c]
mov al, byte [esp + 0x394b]
mov dword [esp + 0x3994], ecx
mov byte [esp + 0x3993], al
mov eax, dword [esp + 0x3994]
mov dword [esp + 0x2794], eax
movsx eax, byte [esp + 0x3993]
cmp eax, 0x41
jl 0x415a40
movsx eax, byte [esp + 0x3993]
cmp eax, 0x5a
jg 0x415a40
movsx eax, byte [esp + 0x3993]
or eax, 0x20
mov dword [esp + 0x2790], eax
jmp 0x415a4f
movsx eax, byte [esp + 0x3993]
mov dword [esp + 0x2790], eax
mov eax, dword [esp + 0x2794]
mov ecx, dword [esp + 0x2790]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x394c], eax
jmp 0x4159be
mov eax, dword [esp + 0x394c]
mov dword [esp + 0x396c], 0xa1397b91
mov dword [esp + 0x3968], 0x2e59f241
mov ecx, dword [esp + 0x3968]
cmp eax, ecx
je 0x415ace
jmp 0x41592e
jmp 0x415aa0
lea eax, [esp + 0x3924]
mov dword [esp + 0x3980], eax
mov eax, dword [esp + 0x3980]
mov ecx, dword [eax]
mov dword [esp + 0x3998], ecx
mov ecx, dword [esp + 0x3998]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x41586d
mov eax, dword [esp + 0x3914]
lea ecx, [esp + 0x3918]
mov dword [esp + 0x397c], ecx
mov dword [esp + 0x3978], eax
mov eax, dword [esp + 0x397c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3974], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3970], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3974]
mov edx, dword [esp + 0x3970]
mov esi, dword [esp + 0x3978]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3928], eax
mov eax, dword [esp + 0x3928]
mov dword [esp + 0x2788], eax
mov eax, dword [esp + 0x2c54]
mov dword [esp + 0x2efc], eax
mov eax, dword [esp + 0x2efc]
mov dword [esp + 0x2f70], eax
mov eax, dword [esp + 0x2f70]
mov dword [esp + 0x278c], eax
mov dword [esp + 0x2ff4], eax
mov eax, dword [esp + 0x2ff4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x415bfe
mov eax, dword [esp + 0x278c]
mov dword [esp + 0x30f8], eax
mov dword [esp + 0x30f4], eax
mov eax, dword [esp + 0x30f8]
mov dword [esp + 0x2784], eax
mov dword [esp + 0x30f0], 0
cmp dword [esp + 0x30f0], 0x10
jge 0x415bfc
mov eax, dword [esp + 0x2784]
mov ecx, dword [esp + 0x30f4]
mov edx, dword [esp + 0x30f0]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30f0]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30f0]
add eax, 1
mov dword [esp + 0x30f0], eax
jmp 0x415bb1
jmp 0x415bfe
mov eax, dword [esp + 0x2788]
mov ecx, dword [esp + 0x278c]
mov dword [esp], ecx
call eax
sub esp, 4
mov ecx, dword [esp + 0x2a98]
mov eax, dword [esp + 0x2ac8]
mov dword [eax], ecx
lea ecx, [esp + 0x2a75]
lea eax, [esp + 0x2a74]
mov dword [esp], eax
call fcn.00434540
sub esp, 4
lea eax, [esp + 0x2a85]
mov dword [esp + 0x2c60], eax
lea eax, [esp + 0x2a75]
mov dword [esp + 0x2c5c], eax
lea eax, [esp + 0x39ac]
mov dword [esp + 0x39b4], eax
mov eax, dword [esp + 0x39b4]
mov dword [esp + 0x3a10], 0x30
mov ecx, dword [esp + 0x3a10]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3a0c], ecx
mov ecx, dword [esp + 0x3a0c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x39ac]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x39a0]
mov dword [esp + 0x39c4], ecx
mov dword [esp + 0x39c0], eax
mov eax, dword [esp + 0x39c4]
mov ecx, dword [esp + 0x39c0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x39c0]
mov dword [esp + 0x3a14], ecx
mov ecx, dword [esp + 0x3a14]
mov edx, dword [esp + 0x3a14]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x39b8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x39bc], ecx
mov ecx, dword [esp + 0x39c0]
add ecx, dword [esp + 0x39b8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x39bc]
mov dword [eax + 8], ecx
lea eax, [esp + 0x39a0]
mov dword [esp + 0x39c8], eax
mov ecx, dword [esp + 0x39c8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x415ecc
lea eax, [esp + 0x39a0]
mov dword [esp + 0x39cc], eax
mov eax, dword [esp + 0x39cc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x399c], eax
mov eax, dword [esp + 0x399c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x399c], ecx
cmp eax, 0
je 0x415eca
mov eax, dword [esp + 0x399c]
lea ecx, [esp + 0x39a0]
mov dword [esp + 0x39e4], ecx
mov dword [esp + 0x39e0], eax
mov eax, dword [esp + 0x39e4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x39e0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x39ec], 0x95cb0604
mov dword [esp + 0x39e8], 0x93db2c0c
mov eax, dword [esp + 0x39ec]
mov dword [esp + 0x39dc], ecx
mov dword [esp + 0x39d8], eax
mov eax, dword [esp + 0x39d8]
mov dword [esp + 0x39d4], eax
mov eax, dword [esp + 0x39dc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x39dc], ecx
mov al, byte [eax]
mov byte [esp + 0x39d3], al
cmp byte [esp + 0x39d3], 0
je 0x415e9d
mov ecx, dword [esp + 0x39d4]
mov al, byte [esp + 0x39d3]
mov dword [esp + 0x3a1c], ecx
mov byte [esp + 0x3a1b], al
mov eax, dword [esp + 0x3a1c]
mov dword [esp + 0x2780], eax
movsx eax, byte [esp + 0x3a1b]
cmp eax, 0x41
jl 0x415e6c
movsx eax, byte [esp + 0x3a1b]
cmp eax, 0x5a
jg 0x415e6c
movsx eax, byte [esp + 0x3a1b]
or eax, 0x20
mov dword [esp + 0x277c], eax
jmp 0x415e7b
movsx eax, byte [esp + 0x3a1b]
mov dword [esp + 0x277c], eax
mov eax, dword [esp + 0x2780]
mov ecx, dword [esp + 0x277c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x39d4], eax
jmp 0x415dea
mov eax, dword [esp + 0x39d4]
mov dword [esp + 0x39f4], 0x95cb0604
mov dword [esp + 0x39f0], 0x93db2c0c
mov ecx, dword [esp + 0x39f0]
cmp eax, ecx
je 0x415efa
jmp 0x415d5a
jmp 0x415ecc
lea eax, [esp + 0x39ac]
mov dword [esp + 0x3a08], eax
mov eax, dword [esp + 0x3a08]
mov ecx, dword [eax]
mov dword [esp + 0x3a20], ecx
mov ecx, dword [esp + 0x3a20]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x415c99
mov eax, dword [esp + 0x399c]
lea ecx, [esp + 0x39a0]
mov dword [esp + 0x3a04], ecx
mov dword [esp + 0x3a00], eax
mov eax, dword [esp + 0x3a04]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x39fc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x39f8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x39fc]
mov edx, dword [esp + 0x39f8]
mov esi, dword [esp + 0x3a00]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x39b0], eax
mov eax, dword [esp + 0x39b0]
mov dword [esp + 0x2774], eax
mov eax, dword [esp + 0x2c5c]
mov dword [esp + 0x2ef8], eax
mov eax, dword [esp + 0x2ef8]
mov dword [esp + 0x2f74], eax
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2778], eax
mov dword [esp + 0x2ff0], eax
mov eax, dword [esp + 0x2ff0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x41602a
mov eax, dword [esp + 0x2778]
mov dword [esp + 0x30ec], eax
mov dword [esp + 0x30e8], eax
mov eax, dword [esp + 0x30ec]
mov dword [esp + 0x2770], eax
mov dword [esp + 0x30e4], 0
cmp dword [esp + 0x30e4], 0x10
jge 0x416028
mov eax, dword [esp + 0x2770]
mov ecx, dword [esp + 0x30e8]
mov edx, dword [esp + 0x30e4]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30e4]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30e4]
add eax, 1
mov dword [esp + 0x30e4], eax
jmp 0x415fdd
jmp 0x41602a
mov eax, dword [esp + 0x2774]
mov ecx, dword [esp + 0x2778]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2ac8]
cmp dword [eax], 0
jne 0x416051
jmp 0x433b60
mov eax, dword [esp + 0x2ac8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2ab0]
cmp eax, dword [ecx]
jne 0x433351
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2ab0]
add eax, dword [ecx]
mov dword [esp + 0x2a70], eax
lea ecx, [esp + 0x2a5f]
lea eax, [esp + 0x2a5e]
mov dword [esp], eax
call fcn.004345a0
sub esp, 4
lea eax, [esp + 0x2a6f]
mov dword [esp + 0x2c68], eax
lea eax, [esp + 0x2a5f]
mov dword [esp + 0x2c64], eax
lea eax, [esp + 0x3a34]
mov dword [esp + 0x3a3c], eax
mov eax, dword [esp + 0x3a3c]
mov dword [esp + 0x3a98], 0x30
mov ecx, dword [esp + 0x3a98]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3a94], ecx
mov ecx, dword [esp + 0x3a94]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3a34]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3a28]
mov dword [esp + 0x3a4c], ecx
mov dword [esp + 0x3a48], eax
mov eax, dword [esp + 0x3a4c]
mov ecx, dword [esp + 0x3a48]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3a48]
mov dword [esp + 0x3a9c], ecx
mov ecx, dword [esp + 0x3a9c]
mov edx, dword [esp + 0x3a9c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3a40], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3a44], ecx
mov ecx, dword [esp + 0x3a48]
add ecx, dword [esp + 0x3a40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3a44]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3a28]
mov dword [esp + 0x3a50], eax
mov ecx, dword [esp + 0x3a50]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x416324
lea eax, [esp + 0x3a28]
mov dword [esp + 0x3a54], eax
mov eax, dword [esp + 0x3a54]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3a24], eax
mov eax, dword [esp + 0x3a24]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3a24], ecx
cmp eax, 0
je 0x416322
mov eax, dword [esp + 0x3a24]
lea ecx, [esp + 0x3a28]
mov dword [esp + 0x3a6c], ecx
mov dword [esp + 0x3a68], eax
mov eax, dword [esp + 0x3a6c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3a68]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3a74], 0xdb450d60
mov dword [esp + 0x3a70], 0x463fa088
mov eax, dword [esp + 0x3a74]
mov dword [esp + 0x3a64], ecx
mov dword [esp + 0x3a60], eax
mov eax, dword [esp + 0x3a60]
mov dword [esp + 0x3a5c], eax
mov eax, dword [esp + 0x3a64]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3a64], ecx
mov al, byte [eax]
mov byte [esp + 0x3a5b], al
cmp byte [esp + 0x3a5b], 0
je 0x4162f5
mov ecx, dword [esp + 0x3a5c]
mov al, byte [esp + 0x3a5b]
mov dword [esp + 0x3aa4], ecx
mov byte [esp + 0x3aa3], al
mov eax, dword [esp + 0x3aa4]
mov dword [esp + 0x276c], eax
movsx eax, byte [esp + 0x3aa3]
cmp eax, 0x41
jl 0x4162c4
movsx eax, byte [esp + 0x3aa3]
cmp eax, 0x5a
jg 0x4162c4
movsx eax, byte [esp + 0x3aa3]
or eax, 0x20
mov dword [esp + 0x2768], eax
jmp 0x4162d3
movsx eax, byte [esp + 0x3aa3]
mov dword [esp + 0x2768], eax
mov eax, dword [esp + 0x276c]
mov ecx, dword [esp + 0x2768]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3a5c], eax
jmp 0x416242
mov eax, dword [esp + 0x3a5c]
mov dword [esp + 0x3a7c], 0xdb450d60
mov dword [esp + 0x3a78], 0x463fa088
mov ecx, dword [esp + 0x3a78]
cmp eax, ecx
je 0x416352
jmp 0x4161b2
jmp 0x416324
lea eax, [esp + 0x3a34]
mov dword [esp + 0x3a90], eax
mov eax, dword [esp + 0x3a90]
mov ecx, dword [eax]
mov dword [esp + 0x3aa8], ecx
mov ecx, dword [esp + 0x3aa8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4160f1
mov eax, dword [esp + 0x3a24]
lea ecx, [esp + 0x3a28]
mov dword [esp + 0x3a8c], ecx
mov dword [esp + 0x3a88], eax
mov eax, dword [esp + 0x3a8c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3a84], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3a80], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3a84]
mov edx, dword [esp + 0x3a80]
mov esi, dword [esp + 0x3a88]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3a38], eax
mov eax, dword [esp + 0x3a38]
mov dword [esp + 0x2760], eax
mov eax, dword [esp + 0x2c64]
mov dword [esp + 0x2ef4], eax
mov eax, dword [esp + 0x2ef4]
mov dword [esp + 0x2f78], eax
mov eax, dword [esp + 0x2f78]
mov dword [esp + 0x2764], eax
mov dword [esp + 0x2fec], eax
mov eax, dword [esp + 0x2fec]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x416482
mov eax, dword [esp + 0x2764]
mov dword [esp + 0x30e0], eax
mov dword [esp + 0x30dc], eax
mov eax, dword [esp + 0x30e0]
mov dword [esp + 0x275c], eax
mov dword [esp + 0x30d8], 0
cmp dword [esp + 0x30d8], 0x10
jge 0x416480
mov eax, dword [esp + 0x275c]
mov ecx, dword [esp + 0x30dc]
mov edx, dword [esp + 0x30d8]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30d8]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30d8]
add eax, 1
mov dword [esp + 0x30d8], eax
jmp 0x416435
jmp 0x416482
mov eax, dword [esp + 0x2760]
mov ecx, dword [esp + 0x2764]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2a70]
add eax, 2
mov dword [esp + 0x2a58], eax
lea ecx, [esp + 0x2a47]
lea eax, [esp + 0x2a46]
mov dword [esp], eax
call fcn.00434600
sub esp, 4
lea eax, [esp + 0x2a57]
mov dword [esp + 0x2c70], eax
lea eax, [esp + 0x2a47]
mov dword [esp + 0x2c6c], eax
lea eax, [esp + 0x3abc]
mov dword [esp + 0x3ac4], eax
mov eax, dword [esp + 0x3ac4]
mov dword [esp + 0x3b20], 0x30
mov ecx, dword [esp + 0x3b20]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3b1c], ecx
mov ecx, dword [esp + 0x3b1c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3abc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3ab0]
mov dword [esp + 0x3ad4], ecx
mov dword [esp + 0x3ad0], eax
mov eax, dword [esp + 0x3ad4]
mov ecx, dword [esp + 0x3ad0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3ad0]
mov dword [esp + 0x3b24], ecx
mov ecx, dword [esp + 0x3b24]
mov edx, dword [esp + 0x3b24]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3ac8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3acc], ecx
mov ecx, dword [esp + 0x3ad0]
add ecx, dword [esp + 0x3ac8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3acc]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3ab0]
mov dword [esp + 0x3ad8], eax
mov ecx, dword [esp + 0x3ad8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x416751
lea eax, [esp + 0x3ab0]
mov dword [esp + 0x3adc], eax
mov eax, dword [esp + 0x3adc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3aac], eax
mov eax, dword [esp + 0x3aac]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3aac], ecx
cmp eax, 0
je 0x41674f
mov eax, dword [esp + 0x3aac]
lea ecx, [esp + 0x3ab0]
mov dword [esp + 0x3af4], ecx
mov dword [esp + 0x3af0], eax
mov eax, dword [esp + 0x3af4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3af0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3afc], 0x912d3dc5
mov dword [esp + 0x3af8], 0x471a2ae5
mov eax, dword [esp + 0x3afc]
mov dword [esp + 0x3aec], ecx
mov dword [esp + 0x3ae8], eax
mov eax, dword [esp + 0x3ae8]
mov dword [esp + 0x3ae4], eax
mov eax, dword [esp + 0x3aec]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3aec], ecx
mov al, byte [eax]
mov byte [esp + 0x3ae3], al
cmp byte [esp + 0x3ae3], 0
je 0x416722
mov ecx, dword [esp + 0x3ae4]
mov al, byte [esp + 0x3ae3]
mov dword [esp + 0x3b2c], ecx
mov byte [esp + 0x3b2b], al
mov eax, dword [esp + 0x3b2c]
mov dword [esp + 0x2758], eax
movsx eax, byte [esp + 0x3b2b]
cmp eax, 0x41
jl 0x4166f1
movsx eax, byte [esp + 0x3b2b]
cmp eax, 0x5a
jg 0x4166f1
movsx eax, byte [esp + 0x3b2b]
or eax, 0x20
mov dword [esp + 0x2754], eax
jmp 0x416700
movsx eax, byte [esp + 0x3b2b]
mov dword [esp + 0x2754], eax
mov eax, dword [esp + 0x2758]
mov ecx, dword [esp + 0x2754]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3ae4], eax
jmp 0x41666f
mov eax, dword [esp + 0x3ae4]
mov dword [esp + 0x3b04], 0x912d3dc5
mov dword [esp + 0x3b00], 0x471a2ae5
mov ecx, dword [esp + 0x3b00]
cmp eax, ecx
je 0x41677f
jmp 0x4165df
jmp 0x416751
lea eax, [esp + 0x3abc]
mov dword [esp + 0x3b18], eax
mov eax, dword [esp + 0x3b18]
mov ecx, dword [eax]
mov dword [esp + 0x3b30], ecx
mov ecx, dword [esp + 0x3b30]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x41651e
mov eax, dword [esp + 0x3aac]
lea ecx, [esp + 0x3ab0]
mov dword [esp + 0x3b14], ecx
mov dword [esp + 0x3b10], eax
mov eax, dword [esp + 0x3b14]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3b0c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3b08], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3b0c]
mov edx, dword [esp + 0x3b08]
mov esi, dword [esp + 0x3b10]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3ac0], eax
mov eax, dword [esp + 0x3ac0]
mov dword [esp + 0x274c], eax
mov eax, dword [esp + 0x2c6c]
mov dword [esp + 0x2ef0], eax
mov eax, dword [esp + 0x2ef0]
mov dword [esp + 0x2f7c], eax
mov eax, dword [esp + 0x2f7c]
mov dword [esp + 0x2750], eax
mov dword [esp + 0x2fe8], eax
mov eax, dword [esp + 0x2fe8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x4168af
mov eax, dword [esp + 0x2750]
mov dword [esp + 0x30d4], eax
mov dword [esp + 0x30d0], eax
mov eax, dword [esp + 0x30d4]
mov dword [esp + 0x2748], eax
mov dword [esp + 0x30cc], 0
cmp dword [esp + 0x30cc], 0x10
jge 0x4168ad
mov eax, dword [esp + 0x2748]
mov ecx, dword [esp + 0x30d0]
mov edx, dword [esp + 0x30cc]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30cc]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30cc]
add eax, 1
mov dword [esp + 0x30cc], eax
jmp 0x416862
jmp 0x4168af
mov eax, dword [esp + 0x274c]
mov ecx, dword [esp + 0x2750]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2b50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub esp, 4
mov ecx, eax
mov eax, dword [esp + 0x2a58]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [esp + 0x2a40], eax
lea ecx, [esp + 0x2a2f]
lea eax, [esp + 0x2a2e]
mov dword [esp], eax
call fcn.00434660
sub esp, 4
lea eax, [esp + 0x2a3f]
mov dword [esp + 0x2c78], eax
lea eax, [esp + 0x2a2f]
mov dword [esp + 0x2c74], eax
lea eax, [esp + 0x3b44]
mov dword [esp + 0x3b4c], eax
mov eax, dword [esp + 0x3b4c]
mov dword [esp + 0x3ba8], 0x30
mov ecx, dword [esp + 0x3ba8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3ba4], ecx
mov ecx, dword [esp + 0x3ba4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3b44]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3b38]
mov dword [esp + 0x3b5c], ecx
mov dword [esp + 0x3b58], eax
mov eax, dword [esp + 0x3b5c]
mov ecx, dword [esp + 0x3b58]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3b58]
mov dword [esp + 0x3bac], ecx
mov ecx, dword [esp + 0x3bac]
mov edx, dword [esp + 0x3bac]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3b50], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3b54], ecx
mov ecx, dword [esp + 0x3b58]
add ecx, dword [esp + 0x3b50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3b54]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3b38]
mov dword [esp + 0x3b60], eax
mov ecx, dword [esp + 0x3b60]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x416ba0
lea eax, [esp + 0x3b38]
mov dword [esp + 0x3b64], eax
mov eax, dword [esp + 0x3b64]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3b34], eax
mov eax, dword [esp + 0x3b34]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3b34], ecx
cmp eax, 0
je 0x416b9e
mov eax, dword [esp + 0x3b34]
lea ecx, [esp + 0x3b38]
mov dword [esp + 0x3b7c], ecx
mov dword [esp + 0x3b78], eax
mov eax, dword [esp + 0x3b7c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3b78]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3b84], 0x926b09e9
mov dword [esp + 0x3b80], 0x1b25f4c9
mov eax, dword [esp + 0x3b84]
mov dword [esp + 0x3b74], ecx
mov dword [esp + 0x3b70], eax
mov eax, dword [esp + 0x3b70]
mov dword [esp + 0x3b6c], eax
mov eax, dword [esp + 0x3b74]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3b74], ecx
mov al, byte [eax]
mov byte [esp + 0x3b6b], al
cmp byte [esp + 0x3b6b], 0
je 0x416b71
mov ecx, dword [esp + 0x3b6c]
mov al, byte [esp + 0x3b6b]
mov dword [esp + 0x3bb4], ecx
mov byte [esp + 0x3bb3], al
mov eax, dword [esp + 0x3bb4]
mov dword [esp + 0x2744], eax
movsx eax, byte [esp + 0x3bb3]
cmp eax, 0x41
jl 0x416b40
movsx eax, byte [esp + 0x3bb3]
cmp eax, 0x5a
jg 0x416b40
movsx eax, byte [esp + 0x3bb3]
or eax, 0x20
mov dword [esp + 0x2740], eax
jmp 0x416b4f
movsx eax, byte [esp + 0x3bb3]
mov dword [esp + 0x2740], eax
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0x2740]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3b6c], eax
jmp 0x416abe
mov eax, dword [esp + 0x3b6c]
mov dword [esp + 0x3b8c], 0x926b09e9
mov dword [esp + 0x3b88], 0x1b25f4c9
mov ecx, dword [esp + 0x3b88]
cmp eax, ecx
je 0x416bce
jmp 0x416a2e
jmp 0x416ba0
lea eax, [esp + 0x3b44]
mov dword [esp + 0x3ba0], eax
mov eax, dword [esp + 0x3ba0]
mov ecx, dword [eax]
mov dword [esp + 0x3bb8], ecx
mov ecx, dword [esp + 0x3bb8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x41696d
mov eax, dword [esp + 0x3b34]
lea ecx, [esp + 0x3b38]
mov dword [esp + 0x3b9c], ecx
mov dword [esp + 0x3b98], eax
mov eax, dword [esp + 0x3b9c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3b94], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3b90], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3b94]
mov edx, dword [esp + 0x3b90]
mov esi, dword [esp + 0x3b98]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3b48], eax
mov eax, dword [esp + 0x3b48]
mov dword [esp + 0x2738], eax
mov eax, dword [esp + 0x2c74]
mov dword [esp + 0x2eec], eax
mov eax, dword [esp + 0x2eec]
mov dword [esp + 0x2f80], eax
mov eax, dword [esp + 0x2f80]
mov dword [esp + 0x273c], eax
mov dword [esp + 0x2fe4], eax
mov eax, dword [esp + 0x2fe4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x416cfe
mov eax, dword [esp + 0x273c]
mov dword [esp + 0x30c8], eax
mov dword [esp + 0x30c4], eax
mov eax, dword [esp + 0x30c8]
mov dword [esp + 0x2734], eax
mov dword [esp + 0x30c0], 0
cmp dword [esp + 0x30c0], 0x10
jge 0x416cfc
mov eax, dword [esp + 0x2734]
mov ecx, dword [esp + 0x30c4]
mov edx, dword [esp + 0x30c0]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30c0]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30c0]
add eax, 1
mov dword [esp + 0x30c0], eax
jmp 0x416cb1
jmp 0x416cfe
mov eax, dword [esp + 0x2738]
mov ecx, dword [esp + 0x273c]
mov dword [esp], ecx
call eax
sub esp, 4
xor eax, eax
cmp dword [0x4f5fa4], 0
mov byte [esp + 0x2733], al
je 0x418b67
mov eax, dword [esp + 0x2a58]
mov dword [esp + 0x2728], eax
lea ecx, [esp + 0x2a1d]
lea eax, [esp + 0x2a1c]
mov dword [esp], eax
call fcn.004346c0
sub esp, 4
lea eax, [esp + 0x2a1d]
mov dword [esp + 0x2c7c], eax
mov eax, dword [esp + 0x2c7c]
mov dword [esp + 0x421c], eax
mov eax, dword [esp + 0x421c]
mov dword [esp + 0x272c], eax
test byte [eax], 1
jne 0x418b39
mov eax, dword [esp + 0x272c]
add eax, 1
mov dword [esp + 0x4224], eax
mov dword [esp + 0x4220], 0
mov eax, dword [esp + 0x4220]
cmp eax, 0x10
jae 0x418b37
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x271c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x271c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2720], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2720]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2724], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2724]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417377
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x270c], eax
mov dword [esp + 0x430c], 0xc03e0000
mov dword [esp + 0x4308], 0
xor eax, eax
je 0x416e52
add dl, dh
movups xmm0, xmmword [esp + 0x4308]
movsd xmm0, qword [esp + 0x4308]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4300], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2710], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2710]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2718], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2714], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2714]
mov dl, al
mov eax, dword [esp + 0x2718]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x416f7e
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2700], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2700]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2704], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2704]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2708], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2708]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x416f7c
mov dword [esp + 0x4310], 6
jmp 0x4170a9
jmp 0x416f7e
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x26f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x26f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26fc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x26f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x26f8]
mov dl, al
mov eax, dword [esp + 0x26fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4170a7
movsd xmm0, qword [esp + 0x4300]
movsd qword [esp + 0x26e8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x26e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x26e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26f0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x26e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x26e4]
movsd xmm0, qword [esp + 0x26e8]
mov dl, al
mov eax, dword [esp + 0x26f0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4310], eax
jmp 0x4170a9
ud2
mov eax, dword [esp + 0x270c]
mov ecx, dword [esp + 0x4310]
add eax, ecx
mov dword [esp + 0x26cc], eax
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x26d0], eax
mov dword [esp + 0x42f4], 0xc03e0000
mov dword [esp + 0x42f0], 0
xor eax, eax
je 0x4170f4
add dl, dh
movups xmm0, xmmword [esp + 0x42f0]
movsd xmm0, qword [esp + 0x42f0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x42e8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x26d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x26d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26dc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x26d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x26d8]
mov dl, al
mov eax, dword [esp + 0x26dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417220
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x26c0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x26c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26c4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x26c4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x26c8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x26c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41721e
mov dword [esp + 0x42fc], 6
jmp 0x41734b
jmp 0x417220
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x26b4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x26b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26bc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x26b8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x26b8]
mov dl, al
mov eax, dword [esp + 0x26bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417349
movsd xmm0, qword [esp + 0x42e8]
movsd qword [esp + 0x26a8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x26a0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x26a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26b0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x26a4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x26a4]
movsd xmm0, qword [esp + 0x26a8]
mov dl, al
mov eax, dword [esp + 0x26b0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x42fc], eax
jmp 0x41734b
ud2
mov eax, dword [esp + 0x26cc]
mov ecx, dword [esp + 0x26d0]
and ecx, dword [esp + 0x42fc]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2694], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2694]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x269c], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x2698], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2698]
mov dl, al
mov eax, dword [esp + 0x269c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41855a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2688], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2688]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x268c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x268c]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2690], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2690]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4179b7
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2678], eax
mov dword [esp + 0x42dc], 0xc03d0000
mov dword [esp + 0x42d8], 0
xor eax, eax
je 0x417492
add dl, dh
movups xmm0, xmmword [esp + 0x42d8]
movsd xmm0, qword [esp + 0x42d8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x42d0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x267c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x267c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2684], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2680], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2680]
mov dl, al
mov eax, dword [esp + 0x2684]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4175be
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x266c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x266c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2670], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2670]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2674], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2674]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4175bc
mov dword [esp + 0x42e4], 6
jmp 0x4176e9
jmp 0x4175be
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2660], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2660]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2668], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2664], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2664]
mov dl, al
mov eax, dword [esp + 0x2668]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4176e7
movsd xmm0, qword [esp + 0x42d0]
movsd qword [esp + 0x2650], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2648], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2648]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x265c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x264c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x264c]
movsd xmm0, qword [esp + 0x2650]
mov dl, al
mov eax, dword [esp + 0x265c]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x42e4], eax
jmp 0x4176e9
ud2
mov eax, dword [esp + 0x2678]
mov ecx, dword [esp + 0x42e4]
add eax, ecx
mov dword [esp + 0x2634], eax
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2638], eax
mov dword [esp + 0x42c4], 0xc03d0000
mov dword [esp + 0x42c0], 0
xor eax, eax
je 0x417734
add dl, dh
movups xmm0, xmmword [esp + 0x42c0]
movsd xmm0, qword [esp + 0x42c0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x42b8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x263c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x263c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2644], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2640], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2640]
mov dl, al
mov eax, dword [esp + 0x2644]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417860
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2628], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2628]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x262c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x262c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2630], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2630]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41785e
mov dword [esp + 0x42cc], 6
jmp 0x41798b
jmp 0x417860
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x261c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x261c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2624], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2620], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2620]
mov dl, al
mov eax, dword [esp + 0x2624]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417989
movsd xmm0, qword [esp + 0x42b8]
movsd qword [esp + 0x2610], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2608], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2608]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2618], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x260c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x260c]
movsd xmm0, qword [esp + 0x2610]
mov dl, al
mov eax, dword [esp + 0x2618]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x42cc], eax
jmp 0x41798b
ud2
mov eax, dword [esp + 0x2634]
mov ecx, dword [esp + 0x2638]
and ecx, dword [esp + 0x42cc]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
mov byte [eax + ecx], dl
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x25fc], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x25fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2600], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2600]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2604], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2604]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417f7e
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x25ec], eax
mov dword [esp + 0x42ac], 0xc03c0000
mov dword [esp + 0x42a8], 0
xor eax, eax
je 0x417a59
add dl, dh
movups xmm0, xmmword [esp + 0x42a8]
movsd xmm0, qword [esp + 0x42a8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x42a0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x25f0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x25f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25f8], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x25f4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x25f4]
mov dl, al
mov eax, dword [esp + 0x25f8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417b85
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x25e0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x25e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25e4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x25e4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x25e8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x25e8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417b83
mov dword [esp + 0x42b4], 6
jmp 0x417cb0
jmp 0x417b85
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x25d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x25d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25dc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x25d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x25d8]
mov dl, al
mov eax, dword [esp + 0x25dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417cae
movsd xmm0, qword [esp + 0x42a0]
movsd qword [esp + 0x25c8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x25c0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x25c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25d0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x25c4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x25c4]
movsd xmm0, qword [esp + 0x25c8]
mov dl, al
mov eax, dword [esp + 0x25d0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x42b4], eax
jmp 0x417cb0
ud2
mov eax, dword [esp + 0x25ec]
mov ecx, dword [esp + 0x42b4]
add eax, ecx
mov dword [esp + 0x25ac], eax
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x25b0], eax
mov dword [esp + 0x4294], 0xc03c0000
mov dword [esp + 0x4290], 0
xor eax, eax
je 0x417cfb
add dl, dh
movups xmm0, xmmword [esp + 0x4290]
movsd xmm0, qword [esp + 0x4290]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4288], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x25b4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x25b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25bc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x25b8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x25b8]
mov dl, al
mov eax, dword [esp + 0x25bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417e27
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x25a0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x25a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25a4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x25a4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x25a8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x25a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417e25
mov dword [esp + 0x429c], 6
jmp 0x417f52
jmp 0x417e27
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2594], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2594]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x259c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2598], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2598]
mov dl, al
mov eax, dword [esp + 0x259c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x417f50
movsd xmm0, qword [esp + 0x4288]
movsd qword [esp + 0x2588], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2580], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2580]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2590], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x2584], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2584]
movsd xmm0, qword [esp + 0x2588]
mov dl, al
mov eax, dword [esp + 0x2590]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x429c], eax
jmp 0x417f52
ud2
mov eax, dword [esp + 0x25ac]
mov ecx, dword [esp + 0x25b0]
and ecx, dword [esp + 0x429c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2574], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2574]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x257c], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x2578], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2578]
mov dl, al
mov eax, dword [esp + 0x257c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418558
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2564], eax
mov eax, dword [esp + 0x4220]
add eax, 0xffffffe1
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4278], xmm0
xor eax, eax
je 0x41802c
add dl, dh
movups xmm0, xmmword [esp + 0x4278]
movsd xmm0, qword [esp + 0x4278]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4270], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2568], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2568]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2570], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x256c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x256c]
mov dl, al
mov eax, dword [esp + 0x2570]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418158
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2558], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2558]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x255c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x255c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2560], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2560]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418156
mov dword [esp + 0x4284], 6
jmp 0x418283
jmp 0x418158
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x254c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x254c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2554], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2550], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2550]
mov dl, al
mov eax, dword [esp + 0x2554]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418281
movsd xmm0, qword [esp + 0x4270]
movsd qword [esp + 0x2540], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2538], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2538]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2548], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x253c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x253c]
movsd xmm0, qword [esp + 0x2540]
mov dl, al
mov eax, dword [esp + 0x2548]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4284], eax
jmp 0x418283
ud2
mov eax, dword [esp + 0x2564]
movsx ecx, byte [esp + 0x4284]
add eax, ecx
mov dword [esp + 0x2524], eax
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2528], eax
mov eax, dword [esp + 0x4220]
add eax, 0xffffffe1
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4260], xmm0
xor eax, eax
je 0x4182d0
add dl, dh
movups xmm0, xmmword [esp + 0x4260]
movsd xmm0, qword [esp + 0x4260]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4258], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x252c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x252c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2534], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2530], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2530]
mov dl, al
mov eax, dword [esp + 0x2534]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4183fc
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2518], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2518]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x251c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x251c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2520], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2520]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4183fa
mov dword [esp + 0x426c], 6
jmp 0x418527
jmp 0x4183fc
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x250c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x250c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2514], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2510], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2510]
mov dl, al
mov eax, dword [esp + 0x2514]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418525
movsd xmm0, qword [esp + 0x4258]
movsd qword [esp + 0x2500], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x24f8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x24f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2508], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x24fc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x24fc]
movsd xmm0, qword [esp + 0x2500]
mov dl, al
mov eax, dword [esp + 0x2508]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x426c], eax
jmp 0x418527
ud2
mov eax, dword [esp + 0x2524]
mov ecx, dword [esp + 0x2528]
mov edx, dword [esp + 0x426c]
movsx edx, dl
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
mov byte [eax + ecx], dl
jmp 0x41855a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x24ec], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x24ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24f0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x24f0]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x24f4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x24f4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418b21
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x24dc], eax
mov dword [esp + 0x424c], 0xc03b0000
mov dword [esp + 0x4248], 0
xor eax, eax
je 0x4185fc
add dl, dh
movups xmm0, xmmword [esp + 0x4248]
movsd xmm0, qword [esp + 0x4248]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4240], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x24e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x24e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24e8], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x24e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x24e4]
mov dl, al
mov eax, dword [esp + 0x24e8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418728
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x24d0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x24d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24d4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x24d4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x24d8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x24d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418726
mov dword [esp + 0x4254], 6
jmp 0x418853
jmp 0x418728
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x24c4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x24c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24cc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x24c8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x24c8]
mov dl, al
mov eax, dword [esp + 0x24cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418851
movsd xmm0, qword [esp + 0x4240]
movsd qword [esp + 0x24b8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x24b0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x24b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24c0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x24b4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x24b4]
movsd xmm0, qword [esp + 0x24b8]
mov dl, al
mov eax, dword [esp + 0x24c0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4254], eax
jmp 0x418853
ud2
mov eax, dword [esp + 0x24dc]
mov ecx, dword [esp + 0x4254]
add eax, ecx
mov dword [esp + 0x249c], eax
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x24a0], eax
mov dword [esp + 0x4234], 0xc03b0000
mov dword [esp + 0x4230], 0
xor eax, eax
je 0x41889e
add dl, dh
movups xmm0, xmmword [esp + 0x4230]
movsd xmm0, qword [esp + 0x4230]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4228], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x24a4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x24a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24ac], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x24a8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x24a8]
mov dl, al
mov eax, dword [esp + 0x24ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4189ca
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2490], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2490]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2494], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2494]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2498], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2498]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4189c8
mov dword [esp + 0x423c], 6
jmp 0x418af5
jmp 0x4189ca
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2484], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2484]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x248c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2488], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2488]
mov dl, al
mov eax, dword [esp + 0x248c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x418af3
movsd xmm0, qword [esp + 0x4228]
movsd qword [esp + 0x2478], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2470], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2470]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2480], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x2474], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2474]
movsd xmm0, qword [esp + 0x2478]
mov dl, al
mov eax, dword [esp + 0x2480]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x423c], eax
jmp 0x418af5
ud2
mov eax, dword [esp + 0x249c]
mov ecx, dword [esp + 0x24a0]
and ecx, dword [esp + 0x423c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4224]
mov ecx, dword [esp + 0x4220]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x4220]
add eax, 1
mov dword [esp + 0x4220], eax
jmp 0x416da0
jmp 0x418b39
mov ecx, dword [esp + 0x2728]
mov eax, dword [esp + 0x272c]
mov byte [eax], 1
add eax, 1
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__stricmp]
cmp eax, 0
sete al
mov byte [esp + 0x2733], al
mov al, byte [esp + 0x2733]
test al, 1
jne 0x418b77
jmp 0x418fa7
mov eax, dword [esp + 0x2ac8]
lea ecx, [0x401c60]
mov dword [eax], ecx
lea ecx, [esp + 0x2a0b]
lea eax, [esp + 0x2a0a]
mov dword [esp], eax
call fcn.00434710
sub esp, 4
lea eax, [esp + 0x2a1b]
mov dword [esp + 0x2c84], eax
lea eax, [esp + 0x2a0b]
mov dword [esp + 0x2c80], eax
lea eax, [esp + 0x3bcc]
mov dword [esp + 0x3bd4], eax
mov eax, dword [esp + 0x3bd4]
mov dword [esp + 0x3c30], 0x30
mov ecx, dword [esp + 0x3c30]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3c2c], ecx
mov ecx, dword [esp + 0x3c2c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3bcc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3bc0]
mov dword [esp + 0x3be4], ecx
mov dword [esp + 0x3be0], eax
mov eax, dword [esp + 0x3be4]
mov ecx, dword [esp + 0x3be0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3be0]
mov dword [esp + 0x3c34], ecx
mov ecx, dword [esp + 0x3c34]
mov edx, dword [esp + 0x3c34]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3bd8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3bdc], ecx
mov ecx, dword [esp + 0x3be0]
add ecx, dword [esp + 0x3bd8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3bdc]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3bc0]
mov dword [esp + 0x3be8], eax
mov ecx, dword [esp + 0x3be8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x418e2e
lea eax, [esp + 0x3bc0]
mov dword [esp + 0x3bec], eax
mov eax, dword [esp + 0x3bec]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3bbc], eax
mov eax, dword [esp + 0x3bbc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3bbc], ecx
cmp eax, 0
je 0x418e2c
mov eax, dword [esp + 0x3bbc]
lea ecx, [esp + 0x3bc0]
mov dword [esp + 0x3c04], ecx
mov dword [esp + 0x3c00], eax
mov eax, dword [esp + 0x3c04]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3c00]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3c0c], 0x39315f2b
mov dword [esp + 0x3c08], 0x3f1558d7
mov eax, dword [esp + 0x3c0c]
mov dword [esp + 0x3bfc], ecx
mov dword [esp + 0x3bf8], eax
mov eax, dword [esp + 0x3bf8]
mov dword [esp + 0x3bf4], eax
mov eax, dword [esp + 0x3bfc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3bfc], ecx
mov al, byte [eax]
mov byte [esp + 0x3bf3], al
cmp byte [esp + 0x3bf3], 0
je 0x418dff
mov ecx, dword [esp + 0x3bf4]
mov al, byte [esp + 0x3bf3]
mov dword [esp + 0x3c3c], ecx
mov byte [esp + 0x3c3b], al
mov eax, dword [esp + 0x3c3c]
mov dword [esp + 0x246c], eax
movsx eax, byte [esp + 0x3c3b]
cmp eax, 0x41
jl 0x418dce
movsx eax, byte [esp + 0x3c3b]
cmp eax, 0x5a
jg 0x418dce
movsx eax, byte [esp + 0x3c3b]
or eax, 0x20
mov dword [esp + 0x2468], eax
jmp 0x418ddd
movsx eax, byte [esp + 0x3c3b]
mov dword [esp + 0x2468], eax
mov eax, dword [esp + 0x246c]
mov ecx, dword [esp + 0x2468]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3bf4], eax
jmp 0x418d4c
mov eax, dword [esp + 0x3bf4]
mov dword [esp + 0x3c14], 0x39315f2b
mov dword [esp + 0x3c10], 0x3f1558d7
mov ecx, dword [esp + 0x3c10]
cmp eax, ecx
je 0x418e5c
jmp 0x418cbc
jmp 0x418e2e
lea eax, [esp + 0x3bcc]
mov dword [esp + 0x3c28], eax
mov eax, dword [esp + 0x3c28]
mov ecx, dword [eax]
mov dword [esp + 0x3c40], ecx
mov ecx, dword [esp + 0x3c40]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x418bfb
mov eax, dword [esp + 0x3bbc]
lea ecx, [esp + 0x3bc0]
mov dword [esp + 0x3c24], ecx
mov dword [esp + 0x3c20], eax
mov eax, dword [esp + 0x3c24]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3c1c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3c18], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3c1c]
mov edx, dword [esp + 0x3c18]
mov esi, dword [esp + 0x3c20]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3bd0], eax
mov eax, dword [esp + 0x3bd0]
mov dword [esp + 0x2460], eax
mov eax, dword [esp + 0x2c80]
mov dword [esp + 0x2ee8], eax
mov eax, dword [esp + 0x2ee8]
mov dword [esp + 0x2f84], eax
mov eax, dword [esp + 0x2f84]
mov dword [esp + 0x2464], eax
mov dword [esp + 0x2fe0], eax
mov eax, dword [esp + 0x2fe0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x418f8c
mov eax, dword [esp + 0x2464]
mov dword [esp + 0x30bc], eax
mov dword [esp + 0x30b8], eax
mov eax, dword [esp + 0x30bc]
mov dword [esp + 0x245c], eax
mov dword [esp + 0x30b4], 0
cmp dword [esp + 0x30b4], 0x10
jge 0x418f8a
mov eax, dword [esp + 0x245c]
mov ecx, dword [esp + 0x30b8]
mov edx, dword [esp + 0x30b4]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30b4]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30b4]
add eax, 1
mov dword [esp + 0x30b4], eax
jmp 0x418f3f
jmp 0x418f8c
mov eax, dword [esp + 0x2460]
mov ecx, dword [esp + 0x2464]
mov dword [esp], ecx
call eax
sub esp, 4
jmp 0x43334f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2450], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2450]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2454], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2454]
movsx ecx, cl
shl ecx, 1
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2458], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2458]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419576
mov dword [esp + 0x2e2c], 0x3ff00000
mov dword [esp + 0x2e28], 0
xor eax, eax
je 0x41902f
add dl, dh
movups xmm0, xmmword [esp + 0x2e28]
movsd xmm0, qword [esp + 0x2e28]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2e20], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2444], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2444]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x244c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2448], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2448]
mov dl, al
mov eax, dword [esp + 0x244c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41915b
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2438], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2438]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x243c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x243c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2440], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2440]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419159
mov dword [esp + 0x2e34], 6
jmp 0x419286
jmp 0x41915b
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x242c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x242c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2434], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2430], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2430]
mov dl, al
mov eax, dword [esp + 0x2434]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419284
movsd xmm0, qword [esp + 0x2e20]
movsd qword [esp + 0x2420], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2418], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2418]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2428], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x241c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x241c]
movsd xmm0, qword [esp + 0x2420]
mov dl, al
mov eax, dword [esp + 0x2428]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2e34], eax
jmp 0x419286
ud2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x240c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x240c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2414], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 7
mov dword [esp + 0x2410], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2410]
mov dl, al
mov eax, dword [esp + 0x2414]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419571
mov dword [esp + 0x2e14], 0x40180000
mov dword [esp + 0x2e10], 0
xor eax, eax
je 0x41931a
add dl, dh
movups xmm0, xmmword [esp + 0x2e10]
movsd xmm0, qword [esp + 0x2e10]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2e08], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2400], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2400]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2408], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2404], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2404]
mov dl, al
mov eax, dword [esp + 0x2408]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419446
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x23f4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x23f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23f8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x23f8]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x23fc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x23fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419444
mov dword [esp + 0x2e1c], 6
jmp 0x419571
jmp 0x419446
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x23e8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x23e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23f0], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x23ec], eax
call fcn.004347c0
mov ecx, dword [esp + 0x23ec]
mov dl, al
mov eax, dword [esp + 0x23f0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41956f
movsd xmm0, qword [esp + 0x2e08]
movsd qword [esp + 0x23d8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x23d0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x23d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23e4], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x23d4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x23d4]
movsd xmm0, qword [esp + 0x23d8]
mov dl, al
mov eax, dword [esp + 0x23e4]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2e1c], eax
jmp 0x419571
ud2
jmp 0x43334d
xor eax, eax
cmp dword [0x4f5fa4], 0
mov byte [esp + 0x23cf], al
je 0x41b3c9
mov eax, dword [esp + 0x2a58]
mov dword [esp + 0x23c4], eax
lea ecx, [esp + 0x29f9]
lea eax, [esp + 0x29f8]
mov dword [esp], eax
call fcn.004347d0
sub esp, 4
lea eax, [esp + 0x29f9]
mov dword [esp + 0x2e38], eax
mov eax, dword [esp + 0x2e38]
mov dword [esp + 0x4314], eax
mov eax, dword [esp + 0x4314]
mov dword [esp + 0x23c8], eax
test byte [eax], 1
jne 0x41b39b
mov eax, dword [esp + 0x23c8]
add eax, 1
mov dword [esp + 0x431c], eax
mov dword [esp + 0x4318], 0
mov eax, dword [esp + 0x4318]
cmp eax, 0x10
jae 0x41b399
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x23b8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x23b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23bc], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x23bc]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x23c0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x23c0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419bd9
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x23a8], eax
mov dword [esp + 0x4404], 0xc03b0000
mov dword [esp + 0x4400], 0
xor eax, eax
je 0x4196b4
add dl, dh
movups xmm0, xmmword [esp + 0x4400]
movsd xmm0, qword [esp + 0x4400]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x43f8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x23ac], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x23ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23b4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x23b0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x23b0]
mov dl, al
mov eax, dword [esp + 0x23b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4197e0
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x239c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x239c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23a0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x23a0]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x23a4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x23a4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4197de
mov dword [esp + 0x4408], 6
jmp 0x41990b
jmp 0x4197e0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2390], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2390]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2398], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2394], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2394]
mov dl, al
mov eax, dword [esp + 0x2398]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419909
movsd xmm0, qword [esp + 0x43f8]
movsd qword [esp + 0x2380], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2378], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2378]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x238c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x237c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x237c]
movsd xmm0, qword [esp + 0x2380]
mov dl, al
mov eax, dword [esp + 0x238c]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4408], eax
jmp 0x41990b
ud2
mov eax, dword [esp + 0x23a8]
mov ecx, dword [esp + 0x4408]
add eax, ecx
mov dword [esp + 0x2364], eax
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2368], eax
mov dword [esp + 0x43ec], 0xc03b0000
mov dword [esp + 0x43e8], 0
xor eax, eax
je 0x419956
add dl, dh
movups xmm0, xmmword [esp + 0x43e8]
movsd xmm0, qword [esp + 0x43e8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x43e0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x236c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x236c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2374], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2370], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2370]
mov dl, al
mov eax, dword [esp + 0x2374]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419a82
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2358], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2358]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x235c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x235c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2360], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2360]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419a80
mov dword [esp + 0x43f4], 6
jmp 0x419bad
jmp 0x419a82
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x234c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x234c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2354], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2350], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2350]
mov dl, al
mov eax, dword [esp + 0x2354]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419bab
movsd xmm0, qword [esp + 0x43e0]
movsd qword [esp + 0x2340], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2338], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2338]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2348], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x233c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x233c]
movsd xmm0, qword [esp + 0x2340]
mov dl, al
mov eax, dword [esp + 0x2348]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x43f4], eax
jmp 0x419bad
ud2
mov eax, dword [esp + 0x2364]
mov ecx, dword [esp + 0x2368]
and ecx, dword [esp + 0x43f4]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x232c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x232c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2334], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x2330], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2330]
mov dl, al
mov eax, dword [esp + 0x2334]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41adbc
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2320], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2320]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2324], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2324]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2328], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2328]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a219
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2310], eax
mov dword [esp + 0x43d4], 0xc03a0000
mov dword [esp + 0x43d0], 0
xor eax, eax
je 0x419cf4
add dl, dh
movups xmm0, xmmword [esp + 0x43d0]
movsd xmm0, qword [esp + 0x43d0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x43c8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2314], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2314]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x231c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2318], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2318]
mov dl, al
mov eax, dword [esp + 0x231c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419e20
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2304], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2304]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2308], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2308]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x230c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x230c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419e1e
mov dword [esp + 0x43dc], 6
jmp 0x419f4b
jmp 0x419e20
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x22f8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x22f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2300], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x22fc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x22fc]
mov dl, al
mov eax, dword [esp + 0x2300]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x419f49
movsd xmm0, qword [esp + 0x43c8]
movsd qword [esp + 0x22e8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x22e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x22e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22f4], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x22e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x22e4]
movsd xmm0, qword [esp + 0x22e8]
mov dl, al
mov eax, dword [esp + 0x22f4]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x43dc], eax
jmp 0x419f4b
ud2
mov eax, dword [esp + 0x2310]
mov ecx, dword [esp + 0x43dc]
add eax, ecx
mov dword [esp + 0x22cc], eax
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x22d0], eax
mov dword [esp + 0x43bc], 0xc03a0000
mov dword [esp + 0x43b8], 0
xor eax, eax
je 0x419f96
add dl, dh
movups xmm0, xmmword [esp + 0x43b8]
movsd xmm0, qword [esp + 0x43b8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x43b0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x22d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x22d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22dc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x22d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x22d8]
mov dl, al
mov eax, dword [esp + 0x22dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a0c2
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x22c0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x22c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22c4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x22c4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x22c8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x22c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a0c0
mov dword [esp + 0x43c4], 6
jmp 0x41a1ed
jmp 0x41a0c2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x22b4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x22b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22bc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x22b8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x22b8]
mov dl, al
mov eax, dword [esp + 0x22bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a1eb
movsd xmm0, qword [esp + 0x43b0]
movsd qword [esp + 0x22a8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x22a0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x22a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22b0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x22a4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x22a4]
movsd xmm0, qword [esp + 0x22a8]
mov dl, al
mov eax, dword [esp + 0x22b0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x43c4], eax
jmp 0x41a1ed
ud2
mov eax, dword [esp + 0x22cc]
mov ecx, dword [esp + 0x22d0]
and ecx, dword [esp + 0x43c4]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
mov byte [eax + ecx], dl
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2294], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2294]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2298], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2298]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x229c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x229c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a7e0
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2284], eax
mov dword [esp + 0x43a4], 0xc0390000
mov dword [esp + 0x43a0], 0
xor eax, eax
je 0x41a2bb
add dl, dh
movups xmm0, xmmword [esp + 0x43a0]
movsd xmm0, qword [esp + 0x43a0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4398], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2288], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2288]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2290], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x228c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x228c]
mov dl, al
mov eax, dword [esp + 0x2290]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a3e7
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2278], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2278]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x227c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x227c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2280], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2280]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a3e5
mov dword [esp + 0x43ac], 6
jmp 0x41a512
jmp 0x41a3e7
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x226c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x226c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2274], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2270], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2270]
mov dl, al
mov eax, dword [esp + 0x2274]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a510
movsd xmm0, qword [esp + 0x4398]
movsd qword [esp + 0x2260], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2258], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2258]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2268], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x225c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x225c]
movsd xmm0, qword [esp + 0x2260]
mov dl, al
mov eax, dword [esp + 0x2268]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x43ac], eax
jmp 0x41a512
ud2
mov eax, dword [esp + 0x2284]
mov ecx, dword [esp + 0x43ac]
add eax, ecx
mov dword [esp + 0x2244], eax
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2248], eax
mov dword [esp + 0x438c], 0xc0390000
mov dword [esp + 0x4388], 0
xor eax, eax
je 0x41a55d
add dl, dh
movups xmm0, xmmword [esp + 0x4388]
movsd xmm0, qword [esp + 0x4388]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4380], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x224c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x224c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2254], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2250], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2250]
mov dl, al
mov eax, dword [esp + 0x2254]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a689
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2238], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2238]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x223c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x223c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2240], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2240]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a687
mov dword [esp + 0x4394], 6
jmp 0x41a7b4
jmp 0x41a689
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x222c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x222c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2234], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2230], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2230]
mov dl, al
mov eax, dword [esp + 0x2234]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a7b2
movsd xmm0, qword [esp + 0x4380]
movsd qword [esp + 0x2220], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2218], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2218]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2228], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x221c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x221c]
movsd xmm0, qword [esp + 0x2220]
mov dl, al
mov eax, dword [esp + 0x2228]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4394], eax
jmp 0x41a7b4
ud2
mov eax, dword [esp + 0x2244]
mov ecx, dword [esp + 0x2248]
and ecx, dword [esp + 0x4394]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x220c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x220c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2214], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x2210], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2210]
mov dl, al
mov eax, dword [esp + 0x2214]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41adba
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x21fc], eax
mov eax, dword [esp + 0x4318]
add eax, 0xffffffe4
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4370], xmm0
xor eax, eax
je 0x41a88e
add dl, dh
movups xmm0, xmmword [esp + 0x4370]
movsd xmm0, qword [esp + 0x4370]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4368], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2200], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2200]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2208], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2204], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2204]
mov dl, al
mov eax, dword [esp + 0x2208]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a9ba
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x21f0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x21f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21f4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x21f4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x21f8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x21f8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41a9b8
mov dword [esp + 0x437c], 6
jmp 0x41aae5
jmp 0x41a9ba
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x21e4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x21e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21ec], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x21e8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x21e8]
mov dl, al
mov eax, dword [esp + 0x21ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41aae3
movsd xmm0, qword [esp + 0x4368]
movsd qword [esp + 0x21d8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x21d0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x21d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21e0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x21d4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x21d4]
movsd xmm0, qword [esp + 0x21d8]
mov dl, al
mov eax, dword [esp + 0x21e0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x437c], eax
jmp 0x41aae5
ud2
mov eax, dword [esp + 0x21fc]
movsx ecx, byte [esp + 0x437c]
add eax, ecx
mov dword [esp + 0x21bc], eax
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x21c0], eax
mov eax, dword [esp + 0x4318]
add eax, 0xffffffe4
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4358], xmm0
xor eax, eax
je 0x41ab32
add dl, dh
movups xmm0, xmmword [esp + 0x4358]
movsd xmm0, qword [esp + 0x4358]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4350], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x21c4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x21c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21cc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x21c8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x21c8]
mov dl, al
mov eax, dword [esp + 0x21cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ac5e
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x21b0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x21b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21b4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x21b4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x21b8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x21b8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ac5c
mov dword [esp + 0x4364], 6
jmp 0x41ad89
jmp 0x41ac5e
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x21a4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x21a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21ac], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x21a8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x21a8]
mov dl, al
mov eax, dword [esp + 0x21ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ad87
movsd xmm0, qword [esp + 0x4350]
movsd qword [esp + 0x2198], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2190], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2190]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21a0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x2194], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2194]
movsd xmm0, qword [esp + 0x2198]
mov dl, al
mov eax, dword [esp + 0x21a0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4364], eax
jmp 0x41ad89
ud2
mov eax, dword [esp + 0x21bc]
mov ecx, dword [esp + 0x21c0]
mov edx, dword [esp + 0x4364]
movsx edx, dl
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
mov byte [eax + ecx], dl
jmp 0x41adbc
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2184], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2184]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2188], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2188]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x218c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x218c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41b383
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2174], eax
mov dword [esp + 0x4344], 0xc0380000
mov dword [esp + 0x4340], 0
xor eax, eax
je 0x41ae5e
add dl, dh
movups xmm0, xmmword [esp + 0x4340]
movsd xmm0, qword [esp + 0x4340]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4338], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2178], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2178]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2180], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x217c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x217c]
mov dl, al
mov eax, dword [esp + 0x2180]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41af8a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2168], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2168]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x216c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x216c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2170], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2170]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41af88
mov dword [esp + 0x434c], 6
jmp 0x41b0b5
jmp 0x41af8a
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x215c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x215c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2164], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2160], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2160]
mov dl, al
mov eax, dword [esp + 0x2164]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41b0b3
movsd xmm0, qword [esp + 0x4338]
movsd qword [esp + 0x2150], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2148], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2148]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2158], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x214c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x214c]
movsd xmm0, qword [esp + 0x2150]
mov dl, al
mov eax, dword [esp + 0x2158]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x434c], eax
jmp 0x41b0b5
ud2
mov eax, dword [esp + 0x2174]
mov ecx, dword [esp + 0x434c]
add eax, ecx
mov dword [esp + 0x2134], eax
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2138], eax
mov dword [esp + 0x432c], 0xc0380000
mov dword [esp + 0x4328], 0
xor eax, eax
je 0x41b100
add dl, dh
movups xmm0, xmmword [esp + 0x4328]
movsd xmm0, qword [esp + 0x4328]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4320], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x213c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x213c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2144], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2140], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2140]
mov dl, al
mov eax, dword [esp + 0x2144]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41b22c
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2128], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2128]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x212c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x212c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2130], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2130]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41b22a
mov dword [esp + 0x4334], 6
jmp 0x41b357
jmp 0x41b22c
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x211c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x211c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2124], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2120], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2120]
mov dl, al
mov eax, dword [esp + 0x2124]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41b355
movsd xmm0, qword [esp + 0x4320]
movsd qword [esp + 0x2110], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2108], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2108]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2118], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x210c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x210c]
movsd xmm0, qword [esp + 0x2110]
mov dl, al
mov eax, dword [esp + 0x2118]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4334], eax
jmp 0x41b357
ud2
mov eax, dword [esp + 0x2134]
mov ecx, dword [esp + 0x2138]
and ecx, dword [esp + 0x4334]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x431c]
mov ecx, dword [esp + 0x4318]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x4318]
add eax, 1
mov dword [esp + 0x4318], eax
jmp 0x419602
jmp 0x41b39b
mov ecx, dword [esp + 0x23c4]
mov eax, dword [esp + 0x23c8]
mov byte [eax], 1
add eax, 1
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__stricmp]
cmp eax, 0
sete al
mov byte [esp + 0x23cf], al
mov al, byte [esp + 0x23cf]
test al, 1
jne 0x41b3d9
jmp 0x41b809
mov eax, dword [esp + 0x2ac8]
lea ecx, [0x401c40]
mov dword [eax], ecx
lea ecx, [esp + 0x29e7]
lea eax, [esp + 0x29e6]
mov dword [esp], eax
call fcn.00434820
sub esp, 4
lea eax, [esp + 0x29f7]
mov dword [esp + 0x2e40], eax
lea eax, [esp + 0x29e7]
mov dword [esp + 0x2e3c], eax
lea eax, [esp + 0x3c54]
mov dword [esp + 0x3c5c], eax
mov eax, dword [esp + 0x3c5c]
mov dword [esp + 0x3cb8], 0x30
mov ecx, dword [esp + 0x3cb8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3cb4], ecx
mov ecx, dword [esp + 0x3cb4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3c54]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3c48]
mov dword [esp + 0x3c6c], ecx
mov dword [esp + 0x3c68], eax
mov eax, dword [esp + 0x3c6c]
mov ecx, dword [esp + 0x3c68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c68]
mov dword [esp + 0x3cbc], ecx
mov ecx, dword [esp + 0x3cbc]
mov edx, dword [esp + 0x3cbc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3c60], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3c64], ecx
mov ecx, dword [esp + 0x3c68]
add ecx, dword [esp + 0x3c60]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c64]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3c48]
mov dword [esp + 0x3c70], eax
mov ecx, dword [esp + 0x3c70]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x41b690
lea eax, [esp + 0x3c48]
mov dword [esp + 0x3c74], eax
mov eax, dword [esp + 0x3c74]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3c44], eax
mov eax, dword [esp + 0x3c44]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3c44], ecx
cmp eax, 0
je 0x41b68e
mov eax, dword [esp + 0x3c44]
lea ecx, [esp + 0x3c48]
mov dword [esp + 0x3c8c], ecx
mov dword [esp + 0x3c88], eax
mov eax, dword [esp + 0x3c8c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3c88]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3c94], 0x2c60f0ba
mov dword [esp + 0x3c90], 0x1334d0ae
mov eax, dword [esp + 0x3c94]
mov dword [esp + 0x3c84], ecx
mov dword [esp + 0x3c80], eax
mov eax, dword [esp + 0x3c80]
mov dword [esp + 0x3c7c], eax
mov eax, dword [esp + 0x3c84]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3c84], ecx
mov al, byte [eax]
mov byte [esp + 0x3c7b], al
cmp byte [esp + 0x3c7b], 0
je 0x41b661
mov ecx, dword [esp + 0x3c7c]
mov al, byte [esp + 0x3c7b]
mov dword [esp + 0x3cc4], ecx
mov byte [esp + 0x3cc3], al
mov eax, dword [esp + 0x3cc4]
mov dword [esp + 0x2104], eax
movsx eax, byte [esp + 0x3cc3]
cmp eax, 0x41
jl 0x41b630
movsx eax, byte [esp + 0x3cc3]
cmp eax, 0x5a
jg 0x41b630
movsx eax, byte [esp + 0x3cc3]
or eax, 0x20
mov dword [esp + 0x2100], eax
jmp 0x41b63f
movsx eax, byte [esp + 0x3cc3]
mov dword [esp + 0x2100], eax
mov eax, dword [esp + 0x2104]
mov ecx, dword [esp + 0x2100]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3c7c], eax
jmp 0x41b5ae
mov eax, dword [esp + 0x3c7c]
mov dword [esp + 0x3c9c], 0x2c60f0ba
mov dword [esp + 0x3c98], 0x1334d0ae
mov ecx, dword [esp + 0x3c98]
cmp eax, ecx
je 0x41b6be
jmp 0x41b51e
jmp 0x41b690
lea eax, [esp + 0x3c54]
mov dword [esp + 0x3cb0], eax
mov eax, dword [esp + 0x3cb0]
mov ecx, dword [eax]
mov dword [esp + 0x3cc8], ecx
mov ecx, dword [esp + 0x3cc8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x41b45d
mov eax, dword [esp + 0x3c44]
lea ecx, [esp + 0x3c48]
mov dword [esp + 0x3cac], ecx
mov dword [esp + 0x3ca8], eax
mov eax, dword [esp + 0x3cac]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3ca4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3ca0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3ca4]
mov edx, dword [esp + 0x3ca0]
mov esi, dword [esp + 0x3ca8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3c58], eax
mov eax, dword [esp + 0x3c58]
mov dword [esp + 0x20f8], eax
mov eax, dword [esp + 0x2e3c]
mov dword [esp + 0x2ee4], eax
mov eax, dword [esp + 0x2ee4]
mov dword [esp + 0x2f88], eax
mov eax, dword [esp + 0x2f88]
mov dword [esp + 0x20fc], eax
mov dword [esp + 0x2fdc], eax
mov eax, dword [esp + 0x2fdc]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x41b7ee
mov eax, dword [esp + 0x20fc]
mov dword [esp + 0x30b0], eax
mov dword [esp + 0x30ac], eax
mov eax, dword [esp + 0x30b0]
mov dword [esp + 0x20f4], eax
mov dword [esp + 0x30a8], 0
cmp dword [esp + 0x30a8], 0x10
jge 0x41b7ec
mov eax, dword [esp + 0x20f4]
mov ecx, dword [esp + 0x30ac]
mov edx, dword [esp + 0x30a8]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x30a8]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x30a8]
add eax, 1
mov dword [esp + 0x30a8], eax
jmp 0x41b7a1
jmp 0x41b7ee
mov eax, dword [esp + 0x20f8]
mov ecx, dword [esp + 0x20fc]
mov dword [esp], ecx
call eax
sub esp, 4
jmp 0x43334b
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x20e8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x20e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20ec], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x20ec]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x20f0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x20f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41bdd9
mov dword [esp + 0x2dfc], 0x40220000
mov dword [esp + 0x2df8], 0
xor eax, eax
je 0x41b892
add dl, dh
movups xmm0, xmmword [esp + 0x2df8]
movsd xmm0, qword [esp + 0x2df8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2df0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x20dc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x20dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20e4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x20e0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x20e0]
mov dl, al
mov eax, dword [esp + 0x20e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41b9be
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x20d0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x20d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20d4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x20d4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x20d8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x20d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41b9bc
mov dword [esp + 0x2e04], 6
jmp 0x41bae9
jmp 0x41b9be
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x20c4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x20c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20cc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x20c8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x20c8]
mov dl, al
mov eax, dword [esp + 0x20cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41bae7
movsd xmm0, qword [esp + 0x2df0]
movsd qword [esp + 0x20b8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x20b0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x20b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20c0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x20b4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x20b4]
movsd xmm0, qword [esp + 0x20b8]
mov dl, al
mov eax, dword [esp + 0x20c0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2e04], eax
jmp 0x41bae9
ud2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x20a4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x20a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20ac], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x20a8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x20a8]
mov dl, al
mov eax, dword [esp + 0x20ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41bdd4
mov dword [esp + 0x2de4], 0x40240000
mov dword [esp + 0x2de0], 0
xor eax, eax
je 0x41bb7d
add dl, dh
movups xmm0, xmmword [esp + 0x2de0]
movsd xmm0, qword [esp + 0x2de0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2dd8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2098], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2098]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20a0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x209c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x209c]
mov dl, al
mov eax, dword [esp + 0x20a0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41bca9
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x208c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x208c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2090], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2090]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2094], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2094]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41bca7
mov dword [esp + 0x2dec], 6
jmp 0x41bdd4
jmp 0x41bca9
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2080], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2080]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2088], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2084], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2084]
mov dl, al
mov eax, dword [esp + 0x2088]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41bdd2
movsd xmm0, qword [esp + 0x2dd8]
movsd qword [esp + 0x2070], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2068], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2068]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x207c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x206c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x206c]
movsd xmm0, qword [esp + 0x2070]
mov dl, al
mov eax, dword [esp + 0x207c]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2dec], eax
jmp 0x41bdd4
ud2
jmp 0x433349
xor eax, eax
cmp dword [0x4f5fa4], 0
mov byte [esp + 0x2067], al
je 0x41dc2c
mov eax, dword [esp + 0x2a58]
mov dword [esp + 0x205c], eax
lea ecx, [esp + 0x29d6]
lea eax, [esp + 0x29d5]
mov dword [esp], eax
call fcn.00434880
sub esp, 4
lea eax, [esp + 0x29d6]
mov dword [esp + 0x2e44], eax
mov eax, dword [esp + 0x2e44]
mov dword [esp + 0x440c], eax
mov eax, dword [esp + 0x440c]
mov dword [esp + 0x2060], eax
test byte [eax], 1
jne 0x41dbfe
mov eax, dword [esp + 0x2060]
add eax, 1
mov dword [esp + 0x4414], eax
mov dword [esp + 0x4410], 0
mov eax, dword [esp + 0x4410]
cmp eax, 0xf
jae 0x41dbfc
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2050], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2050]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2054], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2054]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2058], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2058]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c43c
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2040], eax
mov dword [esp + 0x44fc], 0xc0380000
mov dword [esp + 0x44f8], 0
xor eax, eax
je 0x41bf17
add dl, dh
movups xmm0, xmmword [esp + 0x44f8]
movsd xmm0, qword [esp + 0x44f8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x44f0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2044], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2044]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x204c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2048], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2048]
mov dl, al
mov eax, dword [esp + 0x204c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c043
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2034], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2034]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2038], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2038]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x203c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x203c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c041
mov dword [esp + 0x4500], 6
jmp 0x41c16e
jmp 0x41c043
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2028], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2028]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2030], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x202c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x202c]
mov dl, al
mov eax, dword [esp + 0x2030]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c16c
movsd xmm0, qword [esp + 0x44f0]
movsd qword [esp + 0x2018], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2010], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2010]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2024], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x2014], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2014]
movsd xmm0, qword [esp + 0x2018]
mov dl, al
mov eax, dword [esp + 0x2024]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4500], eax
jmp 0x41c16e
ud2
mov eax, dword [esp + 0x2040]
mov ecx, dword [esp + 0x4500]
add eax, ecx
mov dword [esp + 0x1ffc], eax
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2000], eax
mov dword [esp + 0x44e4], 0xc0380000
mov dword [esp + 0x44e0], 0
xor eax, eax
je 0x41c1b9
add dl, dh
movups xmm0, xmmword [esp + 0x44e0]
movsd xmm0, qword [esp + 0x44e0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x44d8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2004], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2004]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x200c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2008], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2008]
mov dl, al
mov eax, dword [esp + 0x200c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c2e5
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1ff0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1ff0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ff4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1ff4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1ff8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1ff8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c2e3
mov dword [esp + 0x44ec], 6
jmp 0x41c410
jmp 0x41c2e5
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1fe4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1fe4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fec], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1fe8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1fe8]
mov dl, al
mov eax, dword [esp + 0x1fec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c40e
movsd xmm0, qword [esp + 0x44d8]
movsd qword [esp + 0x1fd8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1fd0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1fd0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fe0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1fd4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1fd4]
movsd xmm0, qword [esp + 0x1fd8]
mov dl, al
mov eax, dword [esp + 0x1fe0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x44ec], eax
jmp 0x41c410
ud2
mov eax, dword [esp + 0x1ffc]
mov ecx, dword [esp + 0x2000]
and ecx, dword [esp + 0x44ec]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1fc4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1fc4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fcc], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x1fc8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1fc8]
mov dl, al
mov eax, dword [esp + 0x1fcc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d61f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1fb8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1fb8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fbc], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1fbc]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1fc0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1fc0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ca7c
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1fa8], eax
mov dword [esp + 0x44cc], 0xc0370000
mov dword [esp + 0x44c8], 0
xor eax, eax
je 0x41c557
add dl, dh
movups xmm0, xmmword [esp + 0x44c8]
movsd xmm0, qword [esp + 0x44c8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x44c0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1fac], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1fac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fb4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1fb0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1fb0]
mov dl, al
mov eax, dword [esp + 0x1fb4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c683
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1f9c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1f9c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fa0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1fa0]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1fa4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1fa4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c681
mov dword [esp + 0x44d4], 6
jmp 0x41c7ae
jmp 0x41c683
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1f90], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f98], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1f94], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f94]
mov dl, al
mov eax, dword [esp + 0x1f98]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c7ac
movsd xmm0, qword [esp + 0x44c0]
movsd qword [esp + 0x1f80], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1f78], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f8c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1f7c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f7c]
movsd xmm0, qword [esp + 0x1f80]
mov dl, al
mov eax, dword [esp + 0x1f8c]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x44d4], eax
jmp 0x41c7ae
ud2
mov eax, dword [esp + 0x1fa8]
mov ecx, dword [esp + 0x44d4]
add eax, ecx
mov dword [esp + 0x1f64], eax
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1f68], eax
mov dword [esp + 0x44b4], 0xc0370000
mov dword [esp + 0x44b0], 0
xor eax, eax
je 0x41c7f9
add dl, dh
movups xmm0, xmmword [esp + 0x44b0]
movsd xmm0, qword [esp + 0x44b0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x44a8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1f6c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f6c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f74], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1f70], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f70]
mov dl, al
mov eax, dword [esp + 0x1f74]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c925
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1f58], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1f58]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f5c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1f5c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1f60], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1f60]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41c923
mov dword [esp + 0x44bc], 6
jmp 0x41ca50
jmp 0x41c925
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1f4c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f4c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f54], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1f50], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f50]
mov dl, al
mov eax, dword [esp + 0x1f54]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ca4e
movsd xmm0, qword [esp + 0x44a8]
movsd qword [esp + 0x1f40], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1f38], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f48], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1f3c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f3c]
movsd xmm0, qword [esp + 0x1f40]
mov dl, al
mov eax, dword [esp + 0x1f48]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x44bc], eax
jmp 0x41ca50
ud2
mov eax, dword [esp + 0x1f64]
mov ecx, dword [esp + 0x1f68]
and ecx, dword [esp + 0x44bc]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
mov byte [eax + ecx], dl
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1f2c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1f2c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f30], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1f30]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1f34], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1f34]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d043
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1f1c], eax
mov dword [esp + 0x449c], 0xc0360000
mov dword [esp + 0x4498], 0
xor eax, eax
je 0x41cb1e
add dl, dh
movups xmm0, xmmword [esp + 0x4498]
movsd xmm0, qword [esp + 0x4498]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4490], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1f20], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f20]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f28], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1f24], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f24]
mov dl, al
mov eax, dword [esp + 0x1f28]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41cc4a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1f10], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1f10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f14], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1f14]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1f18], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1f18]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41cc48
mov dword [esp + 0x44a4], 6
jmp 0x41cd75
jmp 0x41cc4a
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1f04], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f0c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1f08], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f08]
mov dl, al
mov eax, dword [esp + 0x1f0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41cd73
movsd xmm0, qword [esp + 0x4490]
movsd qword [esp + 0x1ef8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1ef0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1ef0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f00], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1ef4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ef4]
movsd xmm0, qword [esp + 0x1ef8]
mov dl, al
mov eax, dword [esp + 0x1f00]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x44a4], eax
jmp 0x41cd75
ud2
mov eax, dword [esp + 0x1f1c]
mov ecx, dword [esp + 0x44a4]
add eax, ecx
mov dword [esp + 0x1edc], eax
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1ee0], eax
mov dword [esp + 0x4484], 0xc0360000
mov dword [esp + 0x4480], 0
xor eax, eax
je 0x41cdc0
add dl, dh
movups xmm0, xmmword [esp + 0x4480]
movsd xmm0, qword [esp + 0x4480]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4478], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1ee4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1ee4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1eec], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1ee8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ee8]
mov dl, al
mov eax, dword [esp + 0x1eec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ceec
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1ed0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1ed0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ed4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1ed4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1ed8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1ed8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ceea
mov dword [esp + 0x448c], 6
jmp 0x41d017
jmp 0x41ceec
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1ec4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1ec4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ecc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1ec8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ec8]
mov dl, al
mov eax, dword [esp + 0x1ecc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d015
movsd xmm0, qword [esp + 0x4478]
movsd qword [esp + 0x1eb8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1eb0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1eb0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ec0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1eb4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1eb4]
movsd xmm0, qword [esp + 0x1eb8]
mov dl, al
mov eax, dword [esp + 0x1ec0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x448c], eax
jmp 0x41d017
ud2
mov eax, dword [esp + 0x1edc]
mov ecx, dword [esp + 0x1ee0]
and ecx, dword [esp + 0x448c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1ea4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1ea4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1eac], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x1ea8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ea8]
mov dl, al
mov eax, dword [esp + 0x1eac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d61d
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1e94], eax
mov eax, dword [esp + 0x4410]
add eax, 0xffffffe7
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4468], xmm0
xor eax, eax
je 0x41d0f1
add dl, dh
movups xmm0, xmmword [esp + 0x4468]
movsd xmm0, qword [esp + 0x4468]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4460], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e98], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ea0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1e9c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e9c]
mov dl, al
mov eax, dword [esp + 0x1ea0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d21d
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1e88], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1e88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e8c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1e8c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e90], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1e90]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d21b
mov dword [esp + 0x4474], 6
jmp 0x41d348
jmp 0x41d21d
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e7c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e7c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e84], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1e80], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e80]
mov dl, al
mov eax, dword [esp + 0x1e84]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d346
movsd xmm0, qword [esp + 0x4460]
movsd qword [esp + 0x1e70], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1e68], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e78], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1e6c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e6c]
movsd xmm0, qword [esp + 0x1e70]
mov dl, al
mov eax, dword [esp + 0x1e78]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4474], eax
jmp 0x41d348
ud2
mov eax, dword [esp + 0x1e94]
movsx ecx, byte [esp + 0x4474]
add eax, ecx
mov dword [esp + 0x1e54], eax
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1e58], eax
mov eax, dword [esp + 0x4410]
add eax, 0xffffffe7
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4450], xmm0
xor eax, eax
je 0x41d395
add dl, dh
movups xmm0, xmmword [esp + 0x4450]
movsd xmm0, qword [esp + 0x4450]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4448], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e5c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e64], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1e60], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e60]
mov dl, al
mov eax, dword [esp + 0x1e64]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d4c1
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1e48], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1e48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e4c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1e4c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e50], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1e50]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d4bf
mov dword [esp + 0x445c], 6
jmp 0x41d5ec
jmp 0x41d4c1
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e3c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e44], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1e40], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e40]
mov dl, al
mov eax, dword [esp + 0x1e44]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d5ea
movsd xmm0, qword [esp + 0x4448]
movsd qword [esp + 0x1e30], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1e28], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e38], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1e2c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e2c]
movsd xmm0, qword [esp + 0x1e30]
mov dl, al
mov eax, dword [esp + 0x1e38]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x445c], eax
jmp 0x41d5ec
ud2
mov eax, dword [esp + 0x1e54]
mov ecx, dword [esp + 0x1e58]
mov edx, dword [esp + 0x445c]
movsx edx, dl
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
mov byte [eax + ecx], dl
jmp 0x41d61f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1e1c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1e1c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e20], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1e20]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e24], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1e24]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41dbe6
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1e0c], eax
mov dword [esp + 0x443c], 0xc0350000
mov dword [esp + 0x4438], 0
xor eax, eax
je 0x41d6c1
add dl, dh
movups xmm0, xmmword [esp + 0x4438]
movsd xmm0, qword [esp + 0x4438]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4430], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e10], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e18], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1e14], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e14]
mov dl, al
mov eax, dword [esp + 0x1e18]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d7ed
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1e00], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1e00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e04], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1e04]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e08], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1e08]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d7eb
mov dword [esp + 0x4444], 6
jmp 0x41d918
jmp 0x41d7ed
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1df4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1df4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dfc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1df8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1df8]
mov dl, al
mov eax, dword [esp + 0x1dfc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41d916
movsd xmm0, qword [esp + 0x4430]
movsd qword [esp + 0x1de8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1de0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1de0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1df0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1de4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1de4]
movsd xmm0, qword [esp + 0x1de8]
mov dl, al
mov eax, dword [esp + 0x1df0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4444], eax
jmp 0x41d918
ud2
mov eax, dword [esp + 0x1e0c]
mov ecx, dword [esp + 0x4444]
add eax, ecx
mov dword [esp + 0x1dcc], eax
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1dd0], eax
mov dword [esp + 0x4424], 0xc0350000
mov dword [esp + 0x4420], 0
xor eax, eax
je 0x41d963
add dl, dh
movups xmm0, xmmword [esp + 0x4420]
movsd xmm0, qword [esp + 0x4420]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4418], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1dd4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1dd4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ddc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1dd8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1dd8]
mov dl, al
mov eax, dword [esp + 0x1ddc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41da8f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1dc0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1dc0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dc4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1dc4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1dc8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1dc8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41da8d
mov dword [esp + 0x442c], 6
jmp 0x41dbba
jmp 0x41da8f
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1db4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1db4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dbc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1db8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1db8]
mov dl, al
mov eax, dword [esp + 0x1dbc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41dbb8
movsd xmm0, qword [esp + 0x4418]
movsd qword [esp + 0x1da8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1da0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1da0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1db0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1da4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1da4]
movsd xmm0, qword [esp + 0x1da8]
mov dl, al
mov eax, dword [esp + 0x1db0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x442c], eax
jmp 0x41dbba
ud2
mov eax, dword [esp + 0x1dcc]
mov ecx, dword [esp + 0x1dd0]
and ecx, dword [esp + 0x442c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x4414]
mov ecx, dword [esp + 0x4410]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x4410]
add eax, 1
mov dword [esp + 0x4410], eax
jmp 0x41be65
jmp 0x41dbfe
mov ecx, dword [esp + 0x205c]
mov eax, dword [esp + 0x2060]
mov byte [eax], 1
add eax, 1
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__stricmp]
cmp eax, 0
sete al
mov byte [esp + 0x2067], al
mov al, byte [esp + 0x2067]
test al, 1
jne 0x41dc3c
jmp 0x41e06c
mov eax, dword [esp + 0x2ac8]
lea ecx, [0x401ce0]
mov dword [eax], ecx
lea ecx, [esp + 0x29c4]
lea eax, [esp + 0x29c3]
mov dword [esp], eax
call fcn.004348e0
sub esp, 4
lea eax, [esp + 0x29d4]
mov dword [esp + 0x2e4c], eax
lea eax, [esp + 0x29c4]
mov dword [esp + 0x2e48], eax
lea eax, [esp + 0x3cdc]
mov dword [esp + 0x3ce4], eax
mov eax, dword [esp + 0x3ce4]
mov dword [esp + 0x3d40], 0x30
mov ecx, dword [esp + 0x3d40]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3d3c], ecx
mov ecx, dword [esp + 0x3d3c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3cdc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3cd0]
mov dword [esp + 0x3cf4], ecx
mov dword [esp + 0x3cf0], eax
mov eax, dword [esp + 0x3cf4]
mov ecx, dword [esp + 0x3cf0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3cf0]
mov dword [esp + 0x3d44], ecx
mov ecx, dword [esp + 0x3d44]
mov edx, dword [esp + 0x3d44]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3ce8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3cec], ecx
mov ecx, dword [esp + 0x3cf0]
add ecx, dword [esp + 0x3ce8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3cec]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3cd0]
mov dword [esp + 0x3cf8], eax
mov ecx, dword [esp + 0x3cf8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x41def3
lea eax, [esp + 0x3cd0]
mov dword [esp + 0x3cfc], eax
mov eax, dword [esp + 0x3cfc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3ccc], eax
mov eax, dword [esp + 0x3ccc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3ccc], ecx
cmp eax, 0
je 0x41def1
mov eax, dword [esp + 0x3ccc]
lea ecx, [esp + 0x3cd0]
mov dword [esp + 0x3d14], ecx
mov dword [esp + 0x3d10], eax
mov eax, dword [esp + 0x3d14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3d10]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3d1c], 0x17817df7
mov dword [esp + 0x3d18], 0x5fc91e73
mov eax, dword [esp + 0x3d1c]
mov dword [esp + 0x3d0c], ecx
mov dword [esp + 0x3d08], eax
mov eax, dword [esp + 0x3d08]
mov dword [esp + 0x3d04], eax
mov eax, dword [esp + 0x3d0c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3d0c], ecx
mov al, byte [eax]
mov byte [esp + 0x3d03], al
cmp byte [esp + 0x3d03], 0
je 0x41dec4
mov ecx, dword [esp + 0x3d04]
mov al, byte [esp + 0x3d03]
mov dword [esp + 0x3d4c], ecx
mov byte [esp + 0x3d4b], al
mov eax, dword [esp + 0x3d4c]
mov dword [esp + 0x1d9c], eax
movsx eax, byte [esp + 0x3d4b]
cmp eax, 0x41
jl 0x41de93
movsx eax, byte [esp + 0x3d4b]
cmp eax, 0x5a
jg 0x41de93
movsx eax, byte [esp + 0x3d4b]
or eax, 0x20
mov dword [esp + 0x1d98], eax
jmp 0x41dea2
movsx eax, byte [esp + 0x3d4b]
mov dword [esp + 0x1d98], eax
mov eax, dword [esp + 0x1d9c]
mov ecx, dword [esp + 0x1d98]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3d04], eax
jmp 0x41de11
mov eax, dword [esp + 0x3d04]
mov dword [esp + 0x3d24], 0x17817df7
mov dword [esp + 0x3d20], 0x5fc91e73
mov ecx, dword [esp + 0x3d20]
cmp eax, ecx
je 0x41df21
jmp 0x41dd81
jmp 0x41def3
lea eax, [esp + 0x3cdc]
mov dword [esp + 0x3d38], eax
mov eax, dword [esp + 0x3d38]
mov ecx, dword [eax]
mov dword [esp + 0x3d50], ecx
mov ecx, dword [esp + 0x3d50]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x41dcc0
mov eax, dword [esp + 0x3ccc]
lea ecx, [esp + 0x3cd0]
mov dword [esp + 0x3d34], ecx
mov dword [esp + 0x3d30], eax
mov eax, dword [esp + 0x3d34]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3d2c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3d28], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3d2c]
mov edx, dword [esp + 0x3d28]
mov esi, dword [esp + 0x3d30]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3ce0], eax
mov eax, dword [esp + 0x3ce0]
mov dword [esp + 0x1d90], eax
mov eax, dword [esp + 0x2e48]
mov dword [esp + 0x2ee0], eax
mov eax, dword [esp + 0x2ee0]
mov dword [esp + 0x2f8c], eax
mov eax, dword [esp + 0x2f8c]
mov dword [esp + 0x1d94], eax
mov dword [esp + 0x2fd8], eax
mov eax, dword [esp + 0x2fd8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x41e051
mov eax, dword [esp + 0x1d94]
mov dword [esp + 0x30a4], eax
mov dword [esp + 0x30a0], eax
mov eax, dword [esp + 0x30a4]
mov dword [esp + 0x1d8c], eax
mov dword [esp + 0x309c], 0
cmp dword [esp + 0x309c], 0x10
jge 0x41e04f
mov eax, dword [esp + 0x1d8c]
mov ecx, dword [esp + 0x30a0]
mov edx, dword [esp + 0x309c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x309c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x309c]
add eax, 1
mov dword [esp + 0x309c], eax
jmp 0x41e004
jmp 0x41e051
mov eax, dword [esp + 0x1d90]
mov ecx, dword [esp + 0x1d94]
mov dword [esp], ecx
call eax
sub esp, 4
jmp 0x433347
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1d80], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1d80]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d84], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1d84]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1d88], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1d88]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e63c
mov dword [esp + 0x2dcc], 0x401c0000
mov dword [esp + 0x2dc8], 0
xor eax, eax
je 0x41e0f5
add dl, dh
movups xmm0, xmmword [esp + 0x2dc8]
movsd xmm0, qword [esp + 0x2dc8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2dc0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1d74], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d74]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d7c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1d78], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d78]
mov dl, al
mov eax, dword [esp + 0x1d7c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e221
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1d68], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1d68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d6c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1d6c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1d70], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1d70]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e21f
mov dword [esp + 0x2dd4], 6
jmp 0x41e34c
jmp 0x41e221
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1d5c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d64], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1d60], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d60]
mov dl, al
mov eax, dword [esp + 0x1d64]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e34a
movsd xmm0, qword [esp + 0x2dc0]
movsd qword [esp + 0x1d50], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1d48], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d58], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1d4c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d4c]
movsd xmm0, qword [esp + 0x1d50]
mov dl, al
mov eax, dword [esp + 0x1d58]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2dd4], eax
jmp 0x41e34c
ud2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1d3c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d44], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 3
mov dword [esp + 0x1d40], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d40]
mov dl, al
mov eax, dword [esp + 0x1d44]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e637
mov dword [esp + 0x2db4], 0x40200000
mov dword [esp + 0x2db0], 0
xor eax, eax
je 0x41e3e0
add dl, dh
movups xmm0, xmmword [esp + 0x2db0]
movsd xmm0, qword [esp + 0x2db0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2da8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1d30], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d30]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d38], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1d34], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d34]
mov dl, al
mov eax, dword [esp + 0x1d38]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e50c
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1d24], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1d24]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d28], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1d28]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1d2c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1d2c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e50a
mov dword [esp + 0x2dbc], 6
jmp 0x41e637
jmp 0x41e50c
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1d18], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d18]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d20], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1d1c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d1c]
mov dl, al
mov eax, dword [esp + 0x1d20]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e635
movsd xmm0, qword [esp + 0x2da8]
movsd qword [esp + 0x1d08], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1d00], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d14], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1d04], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d04]
movsd xmm0, qword [esp + 0x1d08]
mov dl, al
mov eax, dword [esp + 0x1d14]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2dbc], eax
jmp 0x41e637
ud2
jmp 0x433345
xor eax, eax
cmp dword [0x4f5fa4], 0
mov byte [esp + 0x1cff], al
je 0x42048f
mov eax, dword [esp + 0x2a58]
mov dword [esp + 0x1cf4], eax
lea ecx, [esp + 0x29b4]
lea eax, [esp + 0x29b3]
mov dword [esp], eax
call fcn.00434940
sub esp, 4
lea eax, [esp + 0x29b4]
mov dword [esp + 0x2e50], eax
mov eax, dword [esp + 0x2e50]
mov dword [esp + 0x4504], eax
mov eax, dword [esp + 0x4504]
mov dword [esp + 0x1cf8], eax
test byte [eax], 1
jne 0x420461
mov eax, dword [esp + 0x1cf8]
add eax, 1
mov dword [esp + 0x450c], eax
mov dword [esp + 0x4508], 0
mov eax, dword [esp + 0x4508]
cmp eax, 0xe
jae 0x42045f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1ce8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1ce8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cec], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1cec]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1cf0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1cf0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ec9f
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1cd8], eax
mov dword [esp + 0x45f4], 0xc0350000
mov dword [esp + 0x45f0], 0
xor eax, eax
je 0x41e77a
add dl, dh
movups xmm0, xmmword [esp + 0x45f0]
movsd xmm0, qword [esp + 0x45f0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x45e8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1cdc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1cdc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ce4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1ce0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ce0]
mov dl, al
mov eax, dword [esp + 0x1ce4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e8a6
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1ccc], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1ccc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cd0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1cd0]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1cd4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1cd4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e8a4
mov dword [esp + 0x45f8], 6
jmp 0x41e9d1
jmp 0x41e8a6
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1cc0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1cc0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cc8], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1cc4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1cc4]
mov dl, al
mov eax, dword [esp + 0x1cc8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41e9cf
movsd xmm0, qword [esp + 0x45e8]
movsd qword [esp + 0x1cb0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1ca8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1ca8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cbc], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1cac], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1cac]
movsd xmm0, qword [esp + 0x1cb0]
mov dl, al
mov eax, dword [esp + 0x1cbc]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x45f8], eax
jmp 0x41e9d1
ud2
mov eax, dword [esp + 0x1cd8]
mov ecx, dword [esp + 0x45f8]
add eax, ecx
mov dword [esp + 0x1c94], eax
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1c98], eax
mov dword [esp + 0x45dc], 0xc0350000
mov dword [esp + 0x45d8], 0
xor eax, eax
je 0x41ea1c
add dl, dh
movups xmm0, xmmword [esp + 0x45d8]
movsd xmm0, qword [esp + 0x45d8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x45d0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c9c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c9c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ca4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1ca0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ca0]
mov dl, al
mov eax, dword [esp + 0x1ca4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41eb48
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1c88], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1c88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c8c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1c8c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1c90], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1c90]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41eb46
mov dword [esp + 0x45e4], 6
jmp 0x41ec73
jmp 0x41eb48
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c7c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c7c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c84], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1c80], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c80]
mov dl, al
mov eax, dword [esp + 0x1c84]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41ec71
movsd xmm0, qword [esp + 0x45d0]
movsd qword [esp + 0x1c70], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1c68], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c78], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1c6c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c6c]
movsd xmm0, qword [esp + 0x1c70]
mov dl, al
mov eax, dword [esp + 0x1c78]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x45e4], eax
jmp 0x41ec73
ud2
mov eax, dword [esp + 0x1c94]
mov ecx, dword [esp + 0x1c98]
and ecx, dword [esp + 0x45e4]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c5c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c64], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x1c60], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c60]
mov dl, al
mov eax, dword [esp + 0x1c64]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fe82
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1c50], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1c50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c54], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1c54]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1c58], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1c58]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f2df
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1c40], eax
mov dword [esp + 0x45c4], 0xc0340000
mov dword [esp + 0x45c0], 0
xor eax, eax
je 0x41edba
add dl, dh
movups xmm0, xmmword [esp + 0x45c0]
movsd xmm0, qword [esp + 0x45c0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x45b8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c44], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c4c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1c48], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c48]
mov dl, al
mov eax, dword [esp + 0x1c4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41eee6
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1c34], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1c34]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c38], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1c38]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1c3c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1c3c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41eee4
mov dword [esp + 0x45cc], 6
jmp 0x41f011
jmp 0x41eee6
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c28], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c30], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1c2c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c2c]
mov dl, al
mov eax, dword [esp + 0x1c30]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f00f
movsd xmm0, qword [esp + 0x45b8]
movsd qword [esp + 0x1c18], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1c10], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c24], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1c14], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c14]
movsd xmm0, qword [esp + 0x1c18]
mov dl, al
mov eax, dword [esp + 0x1c24]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x45cc], eax
jmp 0x41f011
ud2
mov eax, dword [esp + 0x1c40]
mov ecx, dword [esp + 0x45cc]
add eax, ecx
mov dword [esp + 0x1bfc], eax
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1c00], eax
mov dword [esp + 0x45ac], 0xc0340000
mov dword [esp + 0x45a8], 0
xor eax, eax
je 0x41f05c
add dl, dh
movups xmm0, xmmword [esp + 0x45a8]
movsd xmm0, qword [esp + 0x45a8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x45a0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c04], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c0c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1c08], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c08]
mov dl, al
mov eax, dword [esp + 0x1c0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f188
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1bf0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1bf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bf4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1bf4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1bf8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1bf8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f186
mov dword [esp + 0x45b4], 6
jmp 0x41f2b3
jmp 0x41f188
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1be4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1be4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bec], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1be8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1be8]
mov dl, al
mov eax, dword [esp + 0x1bec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f2b1
movsd xmm0, qword [esp + 0x45a0]
movsd qword [esp + 0x1bd8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1bd0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1bd0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1be0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1bd4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1bd4]
movsd xmm0, qword [esp + 0x1bd8]
mov dl, al
mov eax, dword [esp + 0x1be0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x45b4], eax
jmp 0x41f2b3
ud2
mov eax, dword [esp + 0x1bfc]
mov ecx, dword [esp + 0x1c00]
and ecx, dword [esp + 0x45b4]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
mov byte [eax + ecx], dl
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1bc4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1bc4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bc8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1bc8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1bcc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1bcc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f8a6
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1bb4], eax
mov dword [esp + 0x4594], 0xc0330000
mov dword [esp + 0x4590], 0
xor eax, eax
je 0x41f381
add dl, dh
movups xmm0, xmmword [esp + 0x4590]
movsd xmm0, qword [esp + 0x4590]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4588], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1bb8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1bb8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bc0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1bbc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1bbc]
mov dl, al
mov eax, dword [esp + 0x1bc0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f4ad
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1ba8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1ba8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bac], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1bac]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1bb0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1bb0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f4ab
mov dword [esp + 0x459c], 6
jmp 0x41f5d8
jmp 0x41f4ad
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b9c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b9c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ba4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1ba0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ba0]
mov dl, al
mov eax, dword [esp + 0x1ba4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f5d6
movsd xmm0, qword [esp + 0x4588]
movsd qword [esp + 0x1b90], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1b88], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b98], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1b8c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b8c]
movsd xmm0, qword [esp + 0x1b90]
mov dl, al
mov eax, dword [esp + 0x1b98]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x459c], eax
jmp 0x41f5d8
ud2
mov eax, dword [esp + 0x1bb4]
mov ecx, dword [esp + 0x459c]
add eax, ecx
mov dword [esp + 0x1b74], eax
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1b78], eax
mov dword [esp + 0x457c], 0xc0330000
mov dword [esp + 0x4578], 0
xor eax, eax
je 0x41f623
add dl, dh
movups xmm0, xmmword [esp + 0x4578]
movsd xmm0, qword [esp + 0x4578]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4570], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b7c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b7c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b84], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1b80], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b80]
mov dl, al
mov eax, dword [esp + 0x1b84]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f74f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1b68], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1b68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b6c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1b6c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1b70], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1b70]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f74d
mov dword [esp + 0x4584], 6
jmp 0x41f87a
jmp 0x41f74f
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b5c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b64], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1b60], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b60]
mov dl, al
mov eax, dword [esp + 0x1b64]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41f878
movsd xmm0, qword [esp + 0x4570]
movsd qword [esp + 0x1b50], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1b48], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b58], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1b4c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b4c]
movsd xmm0, qword [esp + 0x1b50]
mov dl, al
mov eax, dword [esp + 0x1b58]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4584], eax
jmp 0x41f87a
ud2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b3c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b44], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x1b40], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b40]
mov dl, al
mov eax, dword [esp + 0x1b44]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fe80
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1b2c], eax
mov eax, dword [esp + 0x4508]
add eax, 0xffffffea
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4560], xmm0
xor eax, eax
je 0x41f954
add dl, dh
movups xmm0, xmmword [esp + 0x4560]
movsd xmm0, qword [esp + 0x4560]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4558], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b30], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b30]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b38], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1b34], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b34]
mov dl, al
mov eax, dword [esp + 0x1b38]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fa80
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1b20], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1b20]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b24], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1b24]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1b28], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1b28]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fa7e
mov dword [esp + 0x456c], 6
jmp 0x41fbab
jmp 0x41fa80
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b14], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b14]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b1c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1b18], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b18]
mov dl, al
mov eax, dword [esp + 0x1b1c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fba9
movsd xmm0, qword [esp + 0x4558]
movsd qword [esp + 0x1b08], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1b00], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b10], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1b04], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b04]
movsd xmm0, qword [esp + 0x1b08]
mov dl, al
mov eax, dword [esp + 0x1b10]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x456c], eax
jmp 0x41fbab
ud2
mov eax, dword [esp + 0x1b2c]
movsx ecx, byte [esp + 0x456c]
add eax, ecx
mov dword [esp + 0x1aec], eax
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1af0], eax
mov eax, dword [esp + 0x4508]
add eax, 0xffffffea
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4548], xmm0
xor eax, eax
je 0x41fbf8
add dl, dh
movups xmm0, xmmword [esp + 0x4548]
movsd xmm0, qword [esp + 0x4548]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4540], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1af4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1af4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1afc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1af8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1af8]
mov dl, al
mov eax, dword [esp + 0x1afc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fd24
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1ae0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1ae0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ae4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1ae4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1ae8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1ae8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fd22
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1ad4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1ad4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1adc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1ad8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ad8]
mov dl, al
mov eax, dword [esp + 0x1adc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x41fe4d
jmp 0x41fe82
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1ab4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1ab4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ab8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1ab8]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1abc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1abc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420449
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1aa4], eax
mov dword [esp + 0x4534], 0xc0320000
mov dword [esp + 0x4530], 0
xor eax, eax
je 0x41ff24
add dl, dh
movups xmm0, xmmword [esp + 0x4530]
movsd xmm0, qword [esp + 0x4530]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4528], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1aa8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1aa8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ab0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1aac], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1aac]
mov dl, al
mov eax, dword [esp + 0x1ab0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420050
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1a98], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1a98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a9c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1a9c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1aa0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1aa0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x42004e
mov dword [esp + 0x453c], 6
jmp 0x42017b
jmp 0x420050
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1a8c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a8c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a94], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1a90], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a90]
mov dl, al
mov eax, dword [esp + 0x1a94]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420179
movsd xmm0, qword [esp + 0x4528]
movsd qword [esp + 0x1a80], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1a78], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a88], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1a7c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a7c]
movsd xmm0, qword [esp + 0x1a80]
mov dl, al
mov eax, dword [esp + 0x1a88]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x453c], eax
jmp 0x42017b
ud2
mov eax, dword [esp + 0x1aa4]
mov ecx, dword [esp + 0x453c]
add eax, ecx
mov dword [esp + 0x1a64], eax
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1a68], eax
mov dword [esp + 0x451c], 0xc0320000
mov dword [esp + 0x4518], 0
xor eax, eax
je 0x4201c6
add dl, dh
movups xmm0, xmmword [esp + 0x4518]
movsd xmm0, qword [esp + 0x4518]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4510], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1a6c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a6c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a74], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1a70], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a70]
mov dl, al
mov eax, dword [esp + 0x1a74]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4202f2
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1a58], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1a58]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a5c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1a5c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a60], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1a60]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4202f0
mov dword [esp + 0x4524], 6
jmp 0x42041d
jmp 0x4202f2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1a4c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a4c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a54], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1a50], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a50]
mov dl, al
mov eax, dword [esp + 0x1a54]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x42041b
movsd xmm0, qword [esp + 0x4510]
movsd qword [esp + 0x1a40], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1a38], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a48], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1a3c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a3c]
movsd xmm0, qword [esp + 0x1a40]
mov dl, al
mov eax, dword [esp + 0x1a48]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4524], eax
jmp 0x42041d
ud2
mov eax, dword [esp + 0x1a64]
mov ecx, dword [esp + 0x1a68]
and ecx, dword [esp + 0x4524]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x450c]
mov ecx, dword [esp + 0x4508]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x4508]
add eax, 1
mov dword [esp + 0x4508], eax
jmp 0x41e6c8
jmp 0x420461
mov ecx, dword [esp + 0x1cf4]
mov eax, dword [esp + 0x1cf8]
mov byte [eax], 1
add eax, 1
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__stricmp]
cmp eax, 0
sete al
mov byte [esp + 0x1cff], al
mov al, byte [esp + 0x1cff]
test al, 1
jne 0x42049f
jmp 0x4208cf
mov eax, dword [esp + 0x2ac8]
lea ecx, [0x401d20]
mov dword [eax], ecx
lea ecx, [esp + 0x29a2]
lea eax, [esp + 0x29a1]
mov dword [esp], eax
call fcn.004349a0
sub esp, 4
lea eax, [esp + 0x29b2]
mov dword [esp + 0x2e58], eax
lea eax, [esp + 0x29a2]
mov dword [esp + 0x2e54], eax
lea eax, [esp + 0x3d64]
mov dword [esp + 0x3d6c], eax
mov eax, dword [esp + 0x3d6c]
mov dword [esp + 0x3dc8], 0x30
mov ecx, dword [esp + 0x3dc8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3dc4], ecx
mov ecx, dword [esp + 0x3dc4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3d64]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3d58]
mov dword [esp + 0x3d7c], ecx
mov dword [esp + 0x3d78], eax
mov eax, dword [esp + 0x3d7c]
mov ecx, dword [esp + 0x3d78]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3d78]
mov dword [esp + 0x3dcc], ecx
mov ecx, dword [esp + 0x3dcc]
mov edx, dword [esp + 0x3dcc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3d70], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3d74], ecx
mov ecx, dword [esp + 0x3d78]
add ecx, dword [esp + 0x3d70]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3d74]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3d58]
mov dword [esp + 0x3d80], eax
mov ecx, dword [esp + 0x3d80]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x420756
lea eax, [esp + 0x3d58]
mov dword [esp + 0x3d84], eax
mov eax, dword [esp + 0x3d84]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3d54], eax
mov eax, dword [esp + 0x3d54]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3d54], ecx
cmp eax, 0
je 0x420754
mov eax, dword [esp + 0x3d54]
lea ecx, [esp + 0x3d58]
mov dword [esp + 0x3d9c], ecx
mov dword [esp + 0x3d98], eax
mov eax, dword [esp + 0x3d9c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3d98]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3da4], 0x59370a7c
mov dword [esp + 0x3da0], 0xcd998394
mov eax, dword [esp + 0x3da4]
mov dword [esp + 0x3d94], ecx
mov dword [esp + 0x3d90], eax
mov eax, dword [esp + 0x3d90]
mov dword [esp + 0x3d8c], eax
mov eax, dword [esp + 0x3d94]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3d94], ecx
mov al, byte [eax]
mov byte [esp + 0x3d8b], al
cmp byte [esp + 0x3d8b], 0
je 0x420727
mov ecx, dword [esp + 0x3d8c]
mov al, byte [esp + 0x3d8b]
mov dword [esp + 0x3dd4], ecx
mov byte [esp + 0x3dd3], al
mov eax, dword [esp + 0x3dd4]
mov dword [esp + 0x1a34], eax
movsx eax, byte [esp + 0x3dd3]
cmp eax, 0x41
jl 0x4206f6
movsx eax, byte [esp + 0x3dd3]
cmp eax, 0x5a
jg 0x4206f6
movsx eax, byte [esp + 0x3dd3]
or eax, 0x20
mov dword [esp + 0x1a30], eax
jmp 0x420705
movsx eax, byte [esp + 0x3dd3]
mov dword [esp + 0x1a30], eax
mov eax, dword [esp + 0x1a34]
mov ecx, dword [esp + 0x1a30]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3d8c], eax
jmp 0x420674
mov eax, dword [esp + 0x3d8c]
mov dword [esp + 0x3dac], 0x59370a7c
mov dword [esp + 0x3da8], 0xcd998394
mov ecx, dword [esp + 0x3da8]
cmp eax, ecx
je 0x420784
jmp 0x4205e4
jmp 0x420756
lea eax, [esp + 0x3d64]
mov dword [esp + 0x3dc0], eax
mov eax, dword [esp + 0x3dc0]
mov ecx, dword [eax]
mov dword [esp + 0x3dd8], ecx
mov ecx, dword [esp + 0x3dd8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x420523
mov eax, dword [esp + 0x3d54]
lea ecx, [esp + 0x3d58]
mov dword [esp + 0x3dbc], ecx
mov dword [esp + 0x3db8], eax
mov eax, dword [esp + 0x3dbc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3db4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3db0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3db4]
mov edx, dword [esp + 0x3db0]
mov esi, dword [esp + 0x3db8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3d68], eax
mov eax, dword [esp + 0x3d68]
mov dword [esp + 0x1a28], eax
mov eax, dword [esp + 0x2e54]
mov dword [esp + 0x2edc], eax
mov eax, dword [esp + 0x2edc]
mov dword [esp + 0x2f90], eax
mov eax, dword [esp + 0x2f90]
mov dword [esp + 0x1a2c], eax
mov dword [esp + 0x2fd4], eax
mov eax, dword [esp + 0x2fd4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x4208b4
mov eax, dword [esp + 0x1a2c]
mov dword [esp + 0x3098], eax
mov dword [esp + 0x3094], eax
mov eax, dword [esp + 0x3098]
mov dword [esp + 0x1a24], eax
mov dword [esp + 0x3090], 0
cmp dword [esp + 0x3090], 0x10
jge 0x4208b2
mov eax, dword [esp + 0x1a24]
mov ecx, dword [esp + 0x3094]
mov edx, dword [esp + 0x3090]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3090]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3090]
add eax, 1
mov dword [esp + 0x3090], eax
jmp 0x420867
jmp 0x4208b4
mov eax, dword [esp + 0x1a28]
mov ecx, dword [esp + 0x1a2c]
mov dword [esp], ecx
call eax
sub esp, 4
jmp 0x433343
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1a18], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1a18]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a1c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1a1c]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a20], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1a20]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420e9f
mov dword [esp + 0x2d9c], 0x40140000
mov dword [esp + 0x2d98], 0
xor eax, eax
je 0x420958
add dl, dh
movups xmm0, xmmword [esp + 0x2d98]
movsd xmm0, qword [esp + 0x2d98]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2d90], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1a0c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a0c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a14], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1a10], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a10]
mov dl, al
mov eax, dword [esp + 0x1a14]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420a84
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1a00], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1a00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a04], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1a04]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a08], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1a08]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420a82
mov dword [esp + 0x2da4], 6
jmp 0x420baf
jmp 0x420a84
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x19f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x19f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19fc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x19f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x19f8]
mov dl, al
mov eax, dword [esp + 0x19fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420bad
movsd xmm0, qword [esp + 0x2d90]
movsd qword [esp + 0x19e8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x19e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x19e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19f0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x19e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x19e4]
movsd xmm0, qword [esp + 0x19e8]
mov dl, al
mov eax, dword [esp + 0x19f0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2da4], eax
jmp 0x420baf
ud2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x19d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x19d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19dc], eax
call fcn.004347b0
movsx eax, al
shl eax, 0
mov dword [esp + 0x19d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x19d8]
mov dl, al
mov eax, dword [esp + 0x19dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420e9a
mov dword [esp + 0x2d84], 0x40180000
mov dword [esp + 0x2d80], 0
xor eax, eax
je 0x420c43
add dl, dh
movups xmm0, xmmword [esp + 0x2d80]
movsd xmm0, qword [esp + 0x2d80]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2d78], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x19c8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x19c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19d0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x19cc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x19cc]
mov dl, al
mov eax, dword [esp + 0x19d0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420d6f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x19bc], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x19bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19c0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x19c0]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x19c4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x19c4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420d6d
mov dword [esp + 0x2d8c], 6
jmp 0x420e9a
jmp 0x420d6f
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x19b0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x19b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19b8], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x19b4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x19b4]
mov dl, al
mov eax, dword [esp + 0x19b8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x420e98
movsd xmm0, qword [esp + 0x2d78]
movsd qword [esp + 0x19a0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1998], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1998]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19ac], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x199c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x199c]
movsd xmm0, qword [esp + 0x19a0]
mov dl, al
mov eax, dword [esp + 0x19ac]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2d8c], eax
jmp 0x420e9a
ud2
jmp 0x433341
xor eax, eax
cmp dword [0x4f5fa4], 0
mov byte [esp + 0x1997], al
je 0x422cf2
mov eax, dword [esp + 0x2a58]
mov dword [esp + 0x198c], eax
lea ecx, [esp + 0x2995]
lea eax, [esp + 0x2994]
mov dword [esp], eax
call fcn.00434a00
sub esp, 4
lea eax, [esp + 0x2995]
mov dword [esp + 0x2e5c], eax
mov eax, dword [esp + 0x2e5c]
mov dword [esp + 0x45fc], eax
mov eax, dword [esp + 0x45fc]
mov dword [esp + 0x1990], eax
test byte [eax], 1
jne 0x422cc4
mov eax, dword [esp + 0x1990]
add eax, 1
mov dword [esp + 0x4604], eax
mov dword [esp + 0x4600], 0
mov eax, dword [esp + 0x4600]
cmp eax, 0xb
jae 0x422cc2
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1980], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1980]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1984], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1984]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1988], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1988]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421502
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1970], eax
mov dword [esp + 0x46ec], 0xc0320000
mov dword [esp + 0x46e8], 0
xor eax, eax
je 0x420fdd
add dl, dh
movups xmm0, xmmword [esp + 0x46e8]
movsd xmm0, qword [esp + 0x46e8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x46e0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1974], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1974]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x197c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1978], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1978]
mov dl, al
mov eax, dword [esp + 0x197c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421109
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1964], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1964]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1968], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1968]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x196c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x196c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421107
mov dword [esp + 0x46f0], 6
jmp 0x421234
jmp 0x421109
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1958], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1958]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1960], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x195c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x195c]
mov dl, al
mov eax, dword [esp + 0x1960]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421232
movsd xmm0, qword [esp + 0x46e0]
movsd qword [esp + 0x1948], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1940], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1940]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1954], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1944], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1944]
movsd xmm0, qword [esp + 0x1948]
mov dl, al
mov eax, dword [esp + 0x1954]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x46f0], eax
jmp 0x421234
ud2
mov eax, dword [esp + 0x1970]
mov ecx, dword [esp + 0x46f0]
add eax, ecx
mov dword [esp + 0x192c], eax
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1930], eax
mov dword [esp + 0x46d4], 0xc0320000
mov dword [esp + 0x46d0], 0
xor eax, eax
je 0x42127f
add dl, dh
movups xmm0, xmmword [esp + 0x46d0]
movsd xmm0, qword [esp + 0x46d0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x46c8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1934], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1934]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x193c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1938], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1938]
mov dl, al
mov eax, dword [esp + 0x193c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4213ab
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1920], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1920]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1924], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1924]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1928], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1928]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4213a9
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1914], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1914]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x191c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1918], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1918]
mov dl, al
mov eax, dword [esp + 0x191c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4214d4
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x18f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x18f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18fc], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x18f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x18f8]
mov dl, al
mov eax, dword [esp + 0x18fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4226e5
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x18e8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x18e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18ec], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x18ec]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x18f0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x18f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421b42
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x18d8], eax
mov dword [esp + 0x46bc], 0xc0310000
mov dword [esp + 0x46b8], 0
xor eax, eax
je 0x42161d
add dl, dh
movups xmm0, xmmword [esp + 0x46b8]
movsd xmm0, qword [esp + 0x46b8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x46b0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x18dc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x18dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18e4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x18e0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x18e0]
mov dl, al
mov eax, dword [esp + 0x18e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421749
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x18cc], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x18cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18d0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x18d0]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x18d4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x18d4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421747
mov dword [esp + 0x46c4], 6
jmp 0x421874
jmp 0x421749
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x18c0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x18c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18c8], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x18c4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x18c4]
mov dl, al
mov eax, dword [esp + 0x18c8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421872
movsd xmm0, qword [esp + 0x46b0]
movsd qword [esp + 0x18b0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x18a8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x18a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18bc], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x18ac], eax
call fcn.004347c0
mov ecx, dword [esp + 0x18ac]
movsd xmm0, qword [esp + 0x18b0]
mov dl, al
mov eax, dword [esp + 0x18bc]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x46c4], eax
jmp 0x421874
ud2
mov eax, dword [esp + 0x18d8]
mov ecx, dword [esp + 0x46c4]
add eax, ecx
mov dword [esp + 0x1894], eax
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1898], eax
mov dword [esp + 0x46a4], 0xc0310000
mov dword [esp + 0x46a0], 0
xor eax, eax
je 0x4218bf
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x185c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x185c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1860], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1860]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1864], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1864]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x422109
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x184c], eax
mov dword [esp + 0x468c], 0xc0300000
mov dword [esp + 0x4688], 0
xor eax, eax
je 0x421be4
add dl, dh
movups xmm0, xmmword [esp + 0x4688]
movsd xmm0, qword [esp + 0x4688]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4680], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1850], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1850]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1858], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1854], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1854]
mov dl, al
mov eax, dword [esp + 0x1858]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421d10
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1840], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1840]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1844], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1844]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1848], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1848]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421d0e
mov dword [esp + 0x4694], 6
jmp 0x421e3b
jmp 0x421d10
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1834], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1834]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x183c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1838], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1838]
mov dl, al
mov eax, dword [esp + 0x183c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x421e39
movsd xmm0, qword [esp + 0x4680]
movsd qword [esp + 0x1828], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1820], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1820]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1830], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1824], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1824]
movsd xmm0, qword [esp + 0x1828]
mov dl, al
mov eax, dword [esp + 0x1830]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4694], eax
jmp 0x421e3b
ud2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x17d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x17d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17dc], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x17d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x17d8]
mov dl, al
mov eax, dword [esp + 0x17dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4226e3
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x17c4], eax
mov eax, dword [esp + 0x4600]
add eax, 0xffffffed
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4658], xmm0
xor eax, eax
je 0x4221b7
add dl, dh
movups xmm0, xmmword [esp + 0x4658]
movsd xmm0, qword [esp + 0x4658]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4650], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x17c8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x17c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17d0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x17cc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x17cc]
mov dl, al
mov eax, dword [esp + 0x17d0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4222e3
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x17b8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x17b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17bc], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x17bc]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x17c0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x17c0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4222e1
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x17ac], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x17ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17b4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x17b0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x17b0]
mov dl, al
mov eax, dword [esp + 0x17b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x42240c
jmp 0x4226e5
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x174c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x174c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1750], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1750]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1754], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1754]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x422cac
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x173c], eax
mov dword [esp + 0x462c], 0xc02e0000
mov dword [esp + 0x4628], 0
xor eax, eax
je 0x422787
add dl, dh
movups xmm0, xmmword [esp + 0x4628]
movsd xmm0, qword [esp + 0x4628]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x4620], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1740], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1740]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1748], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1744], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1744]
mov dl, al
mov eax, dword [esp + 0x1748]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4228b3
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1730], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1730]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1734], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1734]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1738], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1738]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4228b1
mov dword [esp + 0x4634], 6
jmp 0x4229de
jmp 0x4228b3
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1724], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1724]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x172c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1728], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1728]
mov dl, al
mov eax, dword [esp + 0x172c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4229dc
movsd xmm0, qword [esp + 0x4620]
movsd qword [esp + 0x1718], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1710], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1710]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1720], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1714], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1714]
movsd xmm0, qword [esp + 0x1718]
mov dl, al
mov eax, dword [esp + 0x1720]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4634], eax
jmp 0x4229de
ud2
mov eax, dword [esp + 0x173c]
mov ecx, dword [esp + 0x4634]
add eax, ecx
mov dword [esp + 0x16fc], eax
mov eax, dword [esp + 0x4604]
mov ecx, dword [esp + 0x4600]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1700], eax
mov dword [esp + 0x4614], 0xc02e0000
mov dword [esp + 0x4610], 0
xor eax, eax
je 0x422a29
mov eax, dword [esp + 0x4600]
add eax, 1
mov dword [esp + 0x4600], eax
jmp 0x420f2b
jmp 0x422cc4
mov ecx, dword [esp + 0x198c]
mov eax, dword [esp + 0x1990]
mov byte [eax], 1
add eax, 1
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__stricmp]
cmp eax, 0
sete al
mov byte [esp + 0x1997], al
mov al, byte [esp + 0x1997]
test al, 1
jne 0x422d02
jmp 0x423132
mov eax, dword [esp + 0x2ac8]
lea ecx, [0x401c80]
mov dword [eax], ecx
lea ecx, [esp + 0x2983]
lea eax, [esp + 0x2982]
mov dword [esp], eax
call fcn.00434a50
sub esp, 4
lea eax, [esp + 0x2993]
mov dword [esp + 0x2e64], eax
lea eax, [esp + 0x2983]
mov dword [esp + 0x2e60], eax
lea eax, [esp + 0x3dec]
mov dword [esp + 0x3df4], eax
mov eax, dword [esp + 0x3df4]
mov dword [esp + 0x3e50], 0x30
mov ecx, dword [esp + 0x3e50]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3e4c], ecx
mov ecx, dword [esp + 0x3e4c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3dec]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3de0]
mov dword [esp + 0x3e04], ecx
mov dword [esp + 0x3e00], eax
mov eax, dword [esp + 0x3e04]
mov ecx, dword [esp + 0x3e00]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3e00]
mov dword [esp + 0x3e54], ecx
mov ecx, dword [esp + 0x3e54]
mov edx, dword [esp + 0x3e54]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3df8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3dfc], ecx
mov ecx, dword [esp + 0x3e00]
add ecx, dword [esp + 0x3df8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3dfc]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3de0]
mov dword [esp + 0x3e08], eax
mov ecx, dword [esp + 0x3e08]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x422fb9
lea eax, [esp + 0x3de0]
mov dword [esp + 0x3e0c], eax
mov eax, dword [esp + 0x3e0c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3ddc], eax
mov eax, dword [esp + 0x3ddc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3ddc], ecx
cmp eax, 0
je 0x422fb7
mov eax, dword [esp + 0x3ddc]
lea ecx, [esp + 0x3de0]
mov dword [esp + 0x3e24], ecx
mov dword [esp + 0x3e20], eax
mov eax, dword [esp + 0x3e24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3e20]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3e2c], 0x532ab5a8
mov dword [esp + 0x3e28], 0x21435fc0
mov eax, dword [esp + 0x3e2c]
mov dword [esp + 0x3e1c], ecx
mov dword [esp + 0x3e18], eax
mov eax, dword [esp + 0x3e18]
mov dword [esp + 0x3e14], eax
mov eax, dword [esp + 0x3e1c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3e1c], ecx
mov al, byte [eax]
mov byte [esp + 0x3e13], al
cmp byte [esp + 0x3e13], 0
je 0x422f8a
mov ecx, dword [esp + 0x3e14]
mov al, byte [esp + 0x3e13]
mov dword [esp + 0x3e5c], ecx
mov byte [esp + 0x3e5b], al
mov eax, dword [esp + 0x3e5c]
mov dword [esp + 0x16cc], eax
movsx eax, byte [esp + 0x3e5b]
cmp eax, 0x41
jl 0x422f59
movsx eax, byte [esp + 0x3e5b]
cmp eax, 0x5a
jg 0x422f59
movsx eax, byte [esp + 0x3e5b]
or eax, 0x20
mov dword [esp + 0x16c8], eax
jmp 0x422f68
movsx eax, byte [esp + 0x3e5b]
mov dword [esp + 0x16c8], eax
mov eax, dword [esp + 0x16cc]
mov ecx, dword [esp + 0x16c8]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3e14], eax
jmp 0x422ed7
mov eax, dword [esp + 0x3e14]
mov dword [esp + 0x3e34], 0x532ab5a8
mov dword [esp + 0x3e30], 0x21435fc0
mov ecx, dword [esp + 0x3e30]
cmp eax, ecx
je 0x422fe7
jmp 0x422e47
jmp 0x422fb9
lea eax, [esp + 0x3dec]
mov dword [esp + 0x3e48], eax
mov eax, dword [esp + 0x3e48]
mov ecx, dword [eax]
mov dword [esp + 0x3e60], ecx
mov ecx, dword [esp + 0x3e60]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x422d86
mov eax, dword [esp + 0x3ddc]
lea ecx, [esp + 0x3de0]
mov dword [esp + 0x3e44], ecx
mov dword [esp + 0x3e40], eax
mov eax, dword [esp + 0x3e44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3e3c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3e38], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3e3c]
mov edx, dword [esp + 0x3e38]
mov esi, dword [esp + 0x3e40]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3df0], eax
mov eax, dword [esp + 0x3df0]
mov dword [esp + 0x16c0], eax
mov eax, dword [esp + 0x2e60]
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ed8]
mov dword [esp + 0x2f94], eax
mov eax, dword [esp + 0x2f94]
mov dword [esp + 0x16c4], eax
mov dword [esp + 0x2fd0], eax
mov eax, dword [esp + 0x2fd0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x423117
mov eax, dword [esp + 0x16c4]
mov dword [esp + 0x308c], eax
mov dword [esp + 0x3088], eax
mov eax, dword [esp + 0x308c]
mov dword [esp + 0x16bc], eax
mov dword [esp + 0x3084], 0
cmp dword [esp + 0x3084], 0x10
jge 0x423115
mov eax, dword [esp + 0x16bc]
mov ecx, dword [esp + 0x3088]
mov edx, dword [esp + 0x3084]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3084]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3084]
add eax, 1
mov dword [esp + 0x3084], eax
jmp 0x4230ca
jmp 0x423117
mov eax, dword [esp + 0x16c0]
mov ecx, dword [esp + 0x16c4]
mov dword [esp], ecx
call eax
sub esp, 4
jmp 0x43333f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x16b0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x16b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x16b4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x16b4]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x16b8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x16b8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x423702
mov dword [esp + 0x2d6c], 0x40080000
mov dword [esp + 0x2d68], 0
xor eax, eax
je 0x4231bb
add dl, dh
movups xmm0, xmmword [esp + 0x2d68]
movsd xmm0, qword [esp + 0x2d68]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2d60], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x16a4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x16a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x16ac], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x16a8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x16a8]
mov dl, al
mov eax, dword [esp + 0x16ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4232e7
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1698], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1698]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x169c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x169c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x16a0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x16a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4232e5
mov dword [esp + 0x2d74], 6
jmp 0x423412
jmp 0x4232e7
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x168c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x168c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1694], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1690], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1690]
mov dl, al
mov eax, dword [esp + 0x1694]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x423410
movsd xmm0, qword [esp + 0x2d60]
movsd qword [esp + 0x1680], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1678], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1678]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1688], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x167c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x167c]
movsd xmm0, qword [esp + 0x1680]
mov dl, al
mov eax, dword [esp + 0x1688]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb0c0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x2d74], eax
jmp 0x423412
ud2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x166c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x166c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1674], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 9
mov dword [esp + 0x1670], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1670]
mov dl, al
mov eax, dword [esp + 0x1674]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4236fd
mov dword [esp + 0x2d54], 0x40100000
mov dword [esp + 0x2d50], 0
xor eax, eax
je 0x4234a6
add dl, dh
movups xmm0, xmmword [esp + 0x2d50]
movsd xmm0, qword [esp + 0x2d50]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2d48], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1660], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1660]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1668], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1664], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1664]
mov dl, al
mov eax, dword [esp + 0x1668]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4235d2
jmp 0x43333d
xor eax, eax
cmp dword [0x4f5fa4], 0
mov byte [esp + 0x162f], al
je 0x425555
mov eax, dword [esp + 0x2a58]
mov dword [esp + 0x1624], eax
lea ecx, [esp + 0x2975]
lea eax, [esp + 0x2974]
mov dword [esp], eax
call fcn.00434ab0
sub esp, 4
lea eax, [esp + 0x2975]
mov dword [esp + 0x2e68], eax
mov eax, dword [esp + 0x2e68]
mov dword [esp + 0x46f4], eax
mov eax, dword [esp + 0x46f4]
mov dword [esp + 0x1628], eax
test byte [eax], 1
jne 0x425527
mov eax, dword [esp + 0x1628]
add eax, 1
mov dword [esp + 0x46fc], eax
mov dword [esp + 0x46f8], 0
mov eax, dword [esp + 0x46f8]
cmp eax, 0xc
jae 0x425525
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1618], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1618]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x161c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x161c]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1620], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1620]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x423d65
mov eax, dword [esp + 0x46fc]
mov ecx, dword [esp + 0x46f8]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1608], eax
mov dword [esp + 0x47e4], 0xc02e0000
mov dword [esp + 0x47e0], 0
xor eax, eax
je 0x423840
add dl, dh
movups xmm0, xmmword [esp + 0x47e0]
movsd xmm0, qword [esp + 0x47e0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x47d8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x160c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x160c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1614], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1610], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1610]
mov dl, al
mov eax, dword [esp + 0x1614]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x42396c
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x15fc], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x15fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1600], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1600]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1604], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1604]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x42396a
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x15f0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x15f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x15f8], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x15f4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x15f4]
mov dl, al
mov eax, dword [esp + 0x15f8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x423a95
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x158c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x158c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1594], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x1590], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1590]
mov dl, al
mov eax, dword [esp + 0x1594]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x424f48
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1580], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1580]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1584], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1584]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1588], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1588]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4243a5
mov eax, dword [esp + 0x46fc]
mov ecx, dword [esp + 0x46f8]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1570], eax
mov dword [esp + 0x47b4], 0xc02c0000
mov dword [esp + 0x47b0], 0
xor eax, eax
je 0x423e80
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x14f4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x14f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x14f8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x14f8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x14fc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x14fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x42496c
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x13e4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x13e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x13e8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x13e8]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x13ec], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x13ec]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x42550f
mov eax, dword [esp + 0x46fc]
mov ecx, dword [esp + 0x46f8]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x13d4], eax
mov dword [esp + 0x4724], 0xc0280000
mov dword [esp + 0x4720], 0
xor eax, eax
je 0x424fea
mov eax, dword [esp + 0x46f8]
add eax, 1
mov dword [esp + 0x46f8], eax
jmp 0x42378e
jmp 0x425527
mov ecx, dword [esp + 0x1624]
mov eax, dword [esp + 0x1628]
mov byte [eax], 1
add eax, 1
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__stricmp]
cmp eax, 0
sete al
mov byte [esp + 0x162f], al
mov al, byte [esp + 0x162f]
test al, 1
jne 0x425565
jmp 0x425995
mov eax, dword [esp + 0x2ac8]
lea ecx, [0x401ca0]
mov dword [eax], ecx
lea ecx, [esp + 0x2963]
lea eax, [esp + 0x2962]
mov dword [esp], eax
call fcn.00434b10
sub esp, 4
lea eax, [esp + 0x2973]
mov dword [esp + 0x2e70], eax
lea eax, [esp + 0x2963]
mov dword [esp + 0x2e6c], eax
lea eax, [esp + 0x3e74]
mov dword [esp + 0x3e7c], eax
mov eax, dword [esp + 0x3e7c]
mov dword [esp + 0x3ed8], 0x30
mov ecx, dword [esp + 0x3ed8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3ed4], ecx
mov ecx, dword [esp + 0x3ed4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3e74]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3e68]
mov dword [esp + 0x3e8c], ecx
mov dword [esp + 0x3e88], eax
mov eax, dword [esp + 0x3e8c]
mov ecx, dword [esp + 0x3e88]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3e88]
mov dword [esp + 0x3edc], ecx
mov ecx, dword [esp + 0x3edc]
mov edx, dword [esp + 0x3edc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3e80], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3e84], ecx
mov ecx, dword [esp + 0x3e88]
add ecx, dword [esp + 0x3e80]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3e84]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3e68]
mov dword [esp + 0x3e90], eax
mov ecx, dword [esp + 0x3e90]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x42581c
lea eax, [esp + 0x3e68]
mov dword [esp + 0x3e94], eax
mov eax, dword [esp + 0x3e94]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3e64], eax
mov eax, dword [esp + 0x3e64]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3e64], ecx
cmp eax, 0
je 0x42581a
mov eax, dword [esp + 0x3e64]
lea ecx, [esp + 0x3e68]
mov dword [esp + 0x3eac], ecx
mov dword [esp + 0x3ea8], eax
mov eax, dword [esp + 0x3eac]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x3ea8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x3eb4], 0xe5e473cc
mov dword [esp + 0x3eb0], 0x564cba84
mov eax, dword [esp + 0x3eb4]
mov dword [esp + 0x3ea4], ecx
mov dword [esp + 0x3ea0], eax
mov eax, dword [esp + 0x3ea0]
mov dword [esp + 0x3e9c], eax
mov eax, dword [esp + 0x3ea4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x3ea4], ecx
mov al, byte [eax]
mov byte [esp + 0x3e9b], al
cmp byte [esp + 0x3e9b], 0
je 0x4257ed
mov ecx, dword [esp + 0x3e9c]
mov al, byte [esp + 0x3e9b]
mov dword [esp + 0x3ee4], ecx
mov byte [esp + 0x3ee3], al
mov eax, dword [esp + 0x3ee4]
mov dword [esp + 0x1364], eax
movsx eax, byte [esp + 0x3ee3]
cmp eax, 0x41
jl 0x4257bc
movsx eax, byte [esp + 0x3ee3]
cmp eax, 0x5a
jg 0x4257bc
movsx eax, byte [esp + 0x3ee3]
mov dword [esp + 0x1360], eax
mov eax, dword [esp + 0x1364]
mov ecx, dword [esp + 0x1360]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x3e9c], eax
jmp 0x42573a
mov eax, dword [esp + 0x3e9c]
mov dword [esp + 0x3ebc], 0xe5e473cc
mov dword [esp + 0x3eb8], 0x564cba84
mov ecx, dword [esp + 0x3eb8]
cmp eax, ecx
je 0x42584a
jmp 0x4256aa
jmp 0x42581c
lea eax, [esp + 0x3e74]
mov dword [esp + 0x3ed0], eax
mov eax, dword [esp + 0x3ed0]
mov ecx, dword [eax]
mov dword [esp + 0x3ee8], ecx
mov ecx, dword [esp + 0x3ee8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4255e9
mov eax, dword [esp + 0x3e64]
lea ecx, [esp + 0x3e68]
mov dword [esp + 0x3ecc], ecx
mov dword [esp + 0x3ec8], eax
mov eax, dword [esp + 0x3ecc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x3ec4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x3ec0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x3ec4]
mov edx, dword [esp + 0x3ec0]
mov esi, dword [esp + 0x3ec8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x3e78], eax
mov eax, dword [esp + 0x3e78]
mov dword [esp + 0x1358], eax
mov eax, dword [esp + 0x2e6c]
mov dword [esp + 0x2ed4], eax
mov eax, dword [esp + 0x2ed4]
mov dword [esp + 0x2f98], eax
mov eax, dword [esp + 0x2f98]
mov dword [esp + 0x135c], eax
mov dword [esp + 0x2fcc], eax
mov eax, dword [esp + 0x2fcc]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x42597a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1348], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1348]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x134c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x134c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1350], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1350]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x425f65
mov dword [esp + 0x2d3c], 0x3ff00000
mov dword [esp + 0x2d38], 0
xor eax, eax
je 0x425a1e
add dl, dh
movups xmm0, xmmword [esp + 0x2d38]
movsd xmm0, qword [esp + 0x2d38]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb0b0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x2d30], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x133c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x133c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1344], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1340], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1340]
mov dl, al
mov eax, dword [esp + 0x1344]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x425b4a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1330], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1330]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1334], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1334]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1338], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1338]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x425b48
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1324], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1324]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x132c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1328], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1328]
mov dl, al
mov eax, dword [esp + 0x132c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x425c73
xor eax, eax
cmp dword [0x4f5fa4], 0
mov byte [esp + 0x12c7], al
je 0x427db8
mov eax, dword [esp + 0x2a58]
mov dword [esp + 0x12bc], eax
lea ecx, [esp + 0x2956]
lea eax, [esp + 0x2955]
mov dword [esp], eax
call fcn.00434b70
sub esp, 4
lea eax, [esp + 0x2956]
mov dword [esp + 0x2e74], eax
mov eax, dword [esp + 0x2e74]
mov dword [esp + 0x47ec], eax
mov eax, dword [esp + 0x47ec]
mov dword [esp + 0x12c0], eax
test byte [eax], 1
jne 0x427d8a
mov eax, dword [esp + 0x12c0]
add eax, 1
mov dword [esp + 0x47f4], eax
mov dword [esp + 0x47f0], 0
mov eax, dword [esp + 0x47f0]
cmp eax, 0xb
jae 0x427d88
mov ecx, dword [esp + 0x12bc]
mov eax, dword [esp + 0x12c0]
mov byte [eax], 1
add eax, 1
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__stricmp]
cmp eax, 0
sete al
mov byte [esp + 0x12c7], al
mov al, byte [esp + 0x12c7]
test al, 1
jne 0x427dc8
jmp 0x4281f8
mov eax, dword [esp + 0x2ac8]
lea ecx, [0x401cc0]
mov dword [eax], ecx
lea ecx, [esp + 0x2944]
lea eax, [esp + 0x2943]
mov dword [esp], eax
call fcn.00434bc0
sub esp, 4
lea eax, [esp + 0x2954]
mov dword [esp + 0x2e7c], eax
lea eax, [esp + 0x2944]
mov dword [esp + 0x2e78], eax
lea eax, [esp + 0x3efc]
mov dword [esp + 0x3f04], eax
mov eax, dword [esp + 0x3f04]
mov dword [esp + 0x3f60], 0x30
mov ecx, dword [esp + 0x3f60]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x3f5c], ecx
mov ecx, dword [esp + 0x3f5c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x3efc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x3ef0]
mov dword [esp + 0x3f14], ecx
mov dword [esp + 0x3f10], eax
mov eax, dword [esp + 0x3f14]
mov ecx, dword [esp + 0x3f10]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3f10]
mov dword [esp + 0x3f64], ecx
mov ecx, dword [esp + 0x3f64]
mov edx, dword [esp + 0x3f64]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x3f08], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x3f0c], ecx
mov ecx, dword [esp + 0x3f10]
add ecx, dword [esp + 0x3f08]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3f0c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x3ef0]
mov dword [esp + 0x3f18], eax
mov ecx, dword [esp + 0x3f18]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x42807f
jmp 0x43333f
jmp 0x433341
jmp 0x433343
jmp 0x433345
jmp 0x433347
jmp 0x433349
jmp 0x43334b
jmp 0x43334d
jmp 0x43334f
jmp 0x433351
mov eax, dword [esp + 0x2af8]
add eax, 4
mov dword [esp + 0x2af8], eax
lea ecx, [esp + 0x28dc]
lea eax, [esp + 0x28db]
mov dword [esp], eax
call fcn.00434e80
sub esp, 4
lea eax, [esp + 0x28ec]
mov dword [esp + 0x2ea8], eax
lea eax, [esp + 0x28dc]
mov dword [esp + 0x2ea4], eax
lea eax, [esp + 0x4094]
mov dword [esp + 0x409c], eax
mov eax, dword [esp + 0x409c]
mov dword [esp + 0x40f8], 0x30
mov ecx, dword [esp + 0x40f8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x40f4], ecx
mov ecx, dword [esp + 0x40f4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x4094]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x4088]
mov dword [esp + 0x40ac], ecx
mov dword [esp + 0x40a8], eax
mov eax, dword [esp + 0x40ac]
mov ecx, dword [esp + 0x40a8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40a8]
mov dword [esp + 0x40fc], ecx
mov ecx, dword [esp + 0x40fc]
mov edx, dword [esp + 0x40fc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x40a0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x40a4], ecx
mov ecx, dword [esp + 0x40a8]
add ecx, dword [esp + 0x40a0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40a4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x4088]
mov dword [esp + 0x40b0], eax
mov ecx, dword [esp + 0x40b0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4335f7
lea eax, [esp + 0x4088]
mov dword [esp + 0x40b4], eax
mov eax, dword [esp + 0x40b4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x4084], eax
mov eax, dword [esp + 0x4084]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x4084], ecx
cmp eax, 0
je 0x4335f5
mov eax, dword [esp + 0x4084]
lea ecx, [esp + 0x4088]
mov dword [esp + 0x40cc], ecx
mov dword [esp + 0x40c8], eax
mov eax, dword [esp + 0x40cc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x40c8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x40d4], 0x4a7ff62b
mov dword [esp + 0x40d0], 0x172107d7
mov eax, dword [esp + 0x40d4]
mov dword [esp + 0x40c4], ecx
mov dword [esp + 0x40c0], eax
mov eax, dword [esp + 0x40c0]
mov dword [esp + 0x40bc], eax
mov eax, dword [esp + 0x40c4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x40c4], ecx
mov al, byte [eax]
mov byte [esp + 0x40bb], al
cmp byte [esp + 0x40bb], 0
je 0x4335c8
mov ecx, dword [esp + 0x40bc]
mov al, byte [esp + 0x40bb]
mov dword [esp + 0x4104], ecx
mov byte [esp + 0x4103], al
mov eax, dword [esp + 0x4104]
mov dword [esp + 0x44], eax
movsx eax, byte [esp + 0x4103]
cmp eax, 0x41
jl 0x4335a0
movsx eax, byte [esp + 0x4103]
cmp eax, 0x5a
jg 0x4335a0
movsx eax, byte [esp + 0x4103]
or eax, 0x20
mov dword [esp + 0x40], eax
jmp 0x4335ac
movsx eax, byte [esp + 0x4103]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x40bc], eax
jmp 0x433528
mov eax, dword [esp + 0x40bc]
mov dword [esp + 0x40dc], 0x4a7ff62b
mov dword [esp + 0x40d8], 0x172107d7
mov ecx, dword [esp + 0x40d8]
cmp eax, ecx
je 0x433625
jmp 0x433498
jmp 0x4335f7
lea eax, [esp + 0x4094]
mov dword [esp + 0x40f0], eax
mov eax, dword [esp + 0x40f0]
mov ecx, dword [eax]
mov dword [esp + 0x4108], ecx
mov ecx, dword [esp + 0x4108]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4333d7
mov eax, dword [esp + 0x4084]
lea ecx, [esp + 0x4088]
mov dword [esp + 0x40ec], ecx
mov dword [esp + 0x40e8], eax
mov eax, dword [esp + 0x40ec]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x40e4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x40e0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x40e4]
mov edx, dword [esp + 0x40e0]
mov esi, dword [esp + 0x40e8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x4098], eax
mov eax, dword [esp + 0x4098]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2ea4]
mov dword [esp + 0x2ec4], eax
mov eax, dword [esp + 0x2ec4]
mov dword [esp + 0x2fa8], eax
mov eax, dword [esp + 0x2fa8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2fbc], eax
mov eax, dword [esp + 0x2fbc]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x433746
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3050], eax
mov dword [esp + 0x304c], eax
mov eax, dword [esp + 0x3050]
mov dword [esp + 0x34], eax
mov dword [esp + 0x3048], 0
cmp dword [esp + 0x3048], 0x10
jge 0x433744
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x304c]
mov edx, dword [esp + 0x3048]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3048]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3048]
add eax, 1
mov dword [esp + 0x3048], eax
jmp 0x4336fc
jmp 0x433746
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2ae0]
add eax, 4
mov dword [esp + 0x2ae0], eax
lea ecx, [esp + 0x28ca]
lea eax, [esp + 0x28c9]
mov dword [esp], eax
call fcn.00434ee0
sub esp, 4
lea eax, [esp + 0x28da]
mov dword [esp + 0x2eb0], eax
lea eax, [esp + 0x28ca]
mov dword [esp + 0x2eac], eax
lea eax, [esp + 0x411c]
mov dword [esp + 0x4124], eax
mov eax, dword [esp + 0x4124]
mov dword [esp + 0x4180], 0x30
mov ecx, dword [esp + 0x4180]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x417c], ecx
mov ecx, dword [esp + 0x417c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x411c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x4110]
mov dword [esp + 0x4134], ecx
mov dword [esp + 0x4130], eax
mov eax, dword [esp + 0x4134]
mov ecx, dword [esp + 0x4130]
mov dword [eax], ecx
mov ecx, dword [esp + 0x4130]
mov dword [esp + 0x4184], ecx
mov ecx, dword [esp + 0x4184]
mov edx, dword [esp + 0x4184]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x4128], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x412c], ecx
mov ecx, dword [esp + 0x4130]
add ecx, dword [esp + 0x4128]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x412c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x4110]
mov dword [esp + 0x4138], eax
mov ecx, dword [esp + 0x4138]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4339fc
lea eax, [esp + 0x4110]
mov dword [esp + 0x413c], eax
mov eax, dword [esp + 0x413c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x410c], eax
mov eax, dword [esp + 0x410c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x410c], ecx
cmp eax, 0
je 0x4339fa
mov eax, dword [esp + 0x410c]
lea ecx, [esp + 0x4110]
mov dword [esp + 0x4154], ecx
mov dword [esp + 0x4150], eax
mov eax, dword [esp + 0x4154]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x4150]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x415c], 0x13e86db9
mov dword [esp + 0x4158], 0xe2629e79
mov eax, dword [esp + 0x415c]
mov dword [esp + 0x414c], ecx
mov dword [esp + 0x4148], eax
mov eax, dword [esp + 0x4148]
mov dword [esp + 0x4144], eax
mov eax, dword [esp + 0x414c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x414c], ecx
mov al, byte [eax]
mov byte [esp + 0x4143], al
cmp byte [esp + 0x4143], 0
je 0x4339cd
mov ecx, dword [esp + 0x4144]
mov al, byte [esp + 0x4143]
mov dword [esp + 0x418c], ecx
mov byte [esp + 0x418b], al
mov eax, dword [esp + 0x418c]
mov dword [esp + 0x30], eax
movsx eax, byte [esp + 0x418b]
cmp eax, 0x41
jl 0x4339a5
movsx eax, byte [esp + 0x418b]
cmp eax, 0x5a
jg 0x4339a5
movsx eax, byte [esp + 0x418b]
or eax, 0x20
mov dword [esp + 0x2c], eax
jmp 0x4339b1
movsx eax, byte [esp + 0x418b]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x4144], eax
jmp 0x43392d
mov eax, dword [esp + 0x4144]
mov dword [esp + 0x4164], 0x13e86db9
mov dword [esp + 0x4160], 0xe2629e79
mov ecx, dword [esp + 0x4160]
cmp eax, ecx
je 0x433a2a
jmp 0x43389d
jmp 0x4339fc
lea eax, [esp + 0x411c]
mov dword [esp + 0x4178], eax
mov eax, dword [esp + 0x4178]
mov ecx, dword [eax]
mov dword [esp + 0x4190], ecx
mov ecx, dword [esp + 0x4190]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4337dc
mov eax, dword [esp + 0x410c]
lea ecx, [esp + 0x4110]
mov dword [esp + 0x4174], ecx
mov dword [esp + 0x4170], eax
mov eax, dword [esp + 0x4174]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x416c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x4168], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x416c]
mov edx, dword [esp + 0x4168]
mov esi, dword [esp + 0x4170]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x4120], eax
mov eax, dword [esp + 0x4120]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2eac]
mov dword [esp + 0x2ec0], eax
mov eax, dword [esp + 0x2ec0]
mov dword [esp + 0x2fac], eax
mov eax, dword [esp + 0x2fac]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2fb8], eax
mov eax, dword [esp + 0x2fb8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x433b4b
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3044], eax
mov dword [esp + 0x3040], eax
mov eax, dword [esp + 0x3044]
mov dword [esp + 0x20], eax
mov dword [esp + 0x303c], 0
cmp dword [esp + 0x303c], 0x10
jge 0x433b49
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3040]
mov edx, dword [esp + 0x303c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x303c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x303c]
add eax, 1
mov dword [esp + 0x303c], eax
jmp 0x433b01
jmp 0x433b4b
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
call eax
sub esp, 4
jmp 0x414f37
lea ecx, [esp + 0x28b8]
lea eax, [esp + 0x28b7]
mov dword [esp], eax
call fcn.00434f40
sub esp, 4
lea eax, [esp + 0x28c8]
mov dword [esp + 0x2eb8], eax
lea eax, [esp + 0x28b8]
mov dword [esp + 0x2eb4], eax
lea eax, [esp + 0x41a4]
mov dword [esp + 0x41ac], eax
mov eax, dword [esp + 0x41ac]
mov dword [esp + 0x4208], 0x30
mov ecx, dword [esp + 0x4208]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x4204], ecx
mov ecx, dword [esp + 0x4204]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x41a4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x4198]
mov dword [esp + 0x41bc], ecx
mov dword [esp + 0x41b8], eax
mov eax, dword [esp + 0x41bc]
mov ecx, dword [esp + 0x41b8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x41b8]
mov dword [esp + 0x420c], ecx
mov ecx, dword [esp + 0x420c]
mov edx, dword [esp + 0x420c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x41b0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x41b4], ecx
mov ecx, dword [esp + 0x41b8]
add ecx, dword [esp + 0x41b0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x41b4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x4198]
mov dword [esp + 0x41c0], eax
mov ecx, dword [esp + 0x41c0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x433df5
lea eax, [esp + 0x4198]
mov dword [esp + 0x41c4], eax
mov eax, dword [esp + 0x41c4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x4194], eax
mov eax, dword [esp + 0x4194]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x4194], ecx
cmp eax, 0
je 0x433df3
mov eax, dword [esp + 0x4194]
lea ecx, [esp + 0x4198]
mov dword [esp + 0x41dc], ecx
mov dword [esp + 0x41d8], eax
mov eax, dword [esp + 0x41dc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x41d8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x41e4], 0x115febf2
mov dword [esp + 0x41e0], 0xcee96f76
mov eax, dword [esp + 0x41e4]
mov dword [esp + 0x41d4], ecx
mov dword [esp + 0x41d0], eax
mov eax, dword [esp + 0x41d0]
mov dword [esp + 0x41cc], eax
mov eax, dword [esp + 0x41d4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x41d4], ecx
mov al, byte [eax]
mov byte [esp + 0x41cb], al
cmp byte [esp + 0x41cb], 0
je 0x433dc6
mov ecx, dword [esp + 0x41cc]
mov al, byte [esp + 0x41cb]
mov dword [esp + 0x4214], ecx
mov byte [esp + 0x4213], al
mov eax, dword [esp + 0x4214]
mov dword [esp + 0x1c], eax
movsx eax, byte [esp + 0x4213]
cmp eax, 0x41
jl 0x433d9e
movsx eax, byte [esp + 0x4213]
cmp eax, 0x5a
jg 0x433d9e
movsx eax, byte [esp + 0x4213]
or eax, 0x20
mov dword [esp + 0x18], eax
jmp 0x433daa
movsx eax, byte [esp + 0x4213]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x41cc], eax
jmp 0x433d26
mov eax, dword [esp + 0x41cc]
mov dword [esp + 0x41ec], 0x115febf2
mov dword [esp + 0x41e8], 0xcee96f76
mov ecx, dword [esp + 0x41e8]
cmp eax, ecx
je 0x433e23
jmp 0x433c96
jmp 0x433df5
lea eax, [esp + 0x41a4]
mov dword [esp + 0x4200], eax
mov eax, dword [esp + 0x4200]
mov ecx, dword [eax]
mov dword [esp + 0x4218], ecx
mov ecx, dword [esp + 0x4218]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x433bd5
mov eax, dword [esp + 0x4194]
lea ecx, [esp + 0x4198]
mov dword [esp + 0x41fc], ecx
mov dword [esp + 0x41f8], eax
mov eax, dword [esp + 0x41fc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x41f4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x41f0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x41f4]
mov edx, dword [esp + 0x41f0]
mov esi, dword [esp + 0x41f8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x41a8], eax
mov eax, dword [esp + 0x41a8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2eb4]
mov dword [esp + 0x2ebc], eax
mov eax, dword [esp + 0x2ebc]
mov dword [esp + 0x2fb0], eax
mov eax, dword [esp + 0x2fb0]
mov dword [esp + 0x14], eax
mov dword [esp + 0x2fb4], eax
mov eax, dword [esp + 0x2fb4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x433f44
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3038], eax
mov dword [esp + 0x3034], eax
mov eax, dword [esp + 0x3038]
mov dword [esp + 0xc], eax
mov dword [esp + 0x3030], 0
cmp dword [esp + 0x3030], 0x10
jge 0x433f42
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3034]
mov edx, dword [esp + 0x3030]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x3030]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x3030]
add eax, 1
mov dword [esp + 0x3030], eax
jmp 0x433efa
jmp 0x433f44
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x2b78]
add eax, 0x14
mov dword [esp + 0x2b78], eax
jmp 0x412da3
mov dword [esp + 0x28b0], 0
cmp dword [esp + 0x28b0], 0x61
jae 0x433f89
mov byte [esp + 0x2be3], 1
jmp 0x433f8b
ud2
mov al, byte [esp + 0x2be3]
and al, 1
lea esp, [ebp - 4]
pop esi
pop ebp
ret