Function at 0x455520
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4a1768
push eax
mov eax, 0x1124
mov dword fs:[0], esp
call fcn.00475120
push ebx
push esi
push edi
mov esi, ecx
call fcn.0045ce90
test al, al
jne 0x4561bf
mov ecx, esi
call fcn.00460480
test al, al
jne 0x455587
push 0
push 0xbbd
mov ecx, esi
call fcn.004522a0
mov ecx, dword [esp + 0x1130]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp + 8]
cmp edi, 2
jne 0x4559a2
push 0
lea ecx, [esp + 0x34]
call fcn.00445150
push ecx
mov dword [esp + 0x113c], 0
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4d0e20
call fcn.0048c471
push 0xa
push 1
push ecx
mov byte [esp + 0x1148], 1
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4ca46c
call fcn.0048c471
lea ecx, [esp + 0x40]
mov byte [esp + 0x1148], 0
call fcn.004452f0
cmp eax, 1
je 0x4556bf
lea ecx, [esp + 0xb54]
mov dword [esp + 0x1138], 9
call fcn.0048c403
lea ecx, [esp + 0xb48]
mov byte [esp + 0x1138], 8
call fcn.0048c403
lea ecx, [esp + 0xb44]
mov byte [esp + 0x1138], 7
call fcn.0041e3f0
lea ecx, [esp + 0xab8]
mov byte [esp + 0x1138], 6
call fcn.0041d8a0
lea ecx, [esp + 0xa7c]
mov byte [esp + 0x1138], 5
call fcn.0049555f
lea ecx, [esp + 0x9f4]
mov byte [esp + 0x1138], 4
call fcn.0041d8a0
lea ecx, [esp + 0x540]
mov byte [esp + 0x1138], 3
call fcn.0041dd70
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1138], 2
call fcn.0041dd70
lea ecx, [esp + 0x30]
mov dword [esp + 0x1138], 0xffffffff
call fcn.00490846
mov ecx, dword [esp + 0x1130]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4d0e20
call fcn.0048c471
push 0xa
push 1
push ecx
mov byte [esp + 0x1148], 0xa
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4ca420
call fcn.0048c471
lea ecx, [esp + 0x40]
mov byte [esp + 0x1148], 0
call fcn.004452f0
cmp eax, 1
je 0x4557d5
lea ecx, [esp + 0xb54]
mov dword [esp + 0x1138], 0x12
call fcn.0048c403
lea ecx, [esp + 0xb48]
mov byte [esp + 0x1138], 0x11
call fcn.0048c403
lea ecx, [esp + 0xb44]
mov byte [esp + 0x1138], 0x10
call fcn.0041e3f0
lea ecx, [esp + 0xab8]
mov byte [esp + 0x1138], 0xf
call fcn.0041d8a0
lea ecx, [esp + 0xa7c]
mov byte [esp + 0x1138], 0xe
call fcn.0049555f
lea ecx, [esp + 0x9f4]
mov byte [esp + 0x1138], 0xd
call fcn.0041d8a0
lea ecx, [esp + 0x540]
mov byte [esp + 0x1138], 0xc
call fcn.0041dd70
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1138], 0xb
call fcn.0041dd70
lea ecx, [esp + 0x30]
mov dword [esp + 0x1138], 0xffffffff
call fcn.00490846
mov ecx, dword [esp + 0x1130]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4d0e20
call fcn.0048c471
push 0xa
push 1
push ecx
mov byte [esp + 0x1148], 0x13
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4ca3d4
call fcn.0048c471
lea ecx, [esp + 0x40]
mov byte [esp + 0x1148], 0
call fcn.004452f0
cmp eax, 1
je 0x4558eb
lea ecx, [esp + 0xb54]
mov dword [esp + 0x1138], 0x1b
call fcn.0048c403
lea ecx, [esp + 0xb48]
mov byte [esp + 0x1138], 0x1a
call fcn.0048c403
lea ecx, [esp + 0xb44]
mov byte [esp + 0x1138], 0x19
call fcn.0041e3f0
lea ecx, [esp + 0xab8]
mov byte [esp + 0x1138], 0x18
call fcn.0041d8a0
lea ecx, [esp + 0xa7c]
mov byte [esp + 0x1138], 0x17
call fcn.0049555f
lea ecx, [esp + 0x9f4]
mov byte [esp + 0x1138], 0x16
call fcn.0041d8a0
lea ecx, [esp + 0x540]
mov byte [esp + 0x1138], 0x15
call fcn.0041dd70
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1138], 0x14
call fcn.0041dd70
lea ecx, [esp + 0x30]
mov dword [esp + 0x1138], 0xffffffff
call fcn.00490846
mov ecx, dword [esp + 0x1130]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0xb54]
mov dword [esp + 0x1138], 0x23
call fcn.0048c403
lea ecx, [esp + 0xb48]
mov byte [esp + 0x1138], 0x22
call fcn.0048c403
lea ecx, [esp + 0xb44]
mov byte [esp + 0x1138], 0x21
call fcn.0041e3f0
lea ecx, [esp + 0xab8]
mov byte [esp + 0x1138], 0x20
call fcn.0041d8a0
lea ecx, [esp + 0xa7c]
mov byte [esp + 0x1138], 0x1f
call fcn.0049555f
lea ecx, [esp + 0x9f4]
mov byte [esp + 0x1138], 0x1e
call fcn.0041d8a0
lea ecx, [esp + 0x540]
mov byte [esp + 0x1138], 0x1d
call fcn.0041dd70
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1138], 0x1c
call fcn.0041dd70
lea ecx, [esp + 0x30]
mov dword [esp + 0x1138], 0xffffffff
call fcn.00490846
mov eax, dword [esi + 0x1c]
push 1
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, esi
call fcn.0045bd40
lea ecx, [esi + 0x68c0]
call fcn.0041d6e0
cmp byte [esi + 0x998e], 0x32
jne 0x455a96
push 0
lea ecx, [esp + 0x34]
call fcn.004430e0
lea ecx, [esi + 0x9855]
mov ebx, 0x24
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x113c], ebx
call fcn.0048c471
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x1140], 0x25
call fcn.0048c178
lea ecx, [esp + 0x34]
call fcn.004435f0
lea ecx, [esp + 0x30]
call fcn.00490c05
lea ecx, [esp + 0x24]
mov byte [esp + 0x1138], bl
call fcn.0048c403
lea ecx, [esp + 0x580]
mov dword [esp + 0x1138], 0x29
call fcn.0041e3f0
lea ecx, [esp + 0x57c]
mov byte [esp + 0x1138], 0x28
call fcn.0048c403
lea ecx, [esp + 0x540]
mov byte [esp + 0x1138], 0x27
call fcn.0049555f
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1138], 0x26
call fcn.0041dd70
lea ecx, [esp + 0x30]
mov dword [esp + 0x1138], 0xffffffff
call fcn.00490846
mov eax, dword [esi + 0x9738]
test eax, eax
je 0x455aa3
mov eax, dword [eax + 0x1c]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x455ace
mov ecx, dword [esi + 0x9738]
push 0
call fcn.0048fa75
mov eax, dword [esi + 0x1c]
push 0
push 0
push 0x40c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esi + 0x9740]
push 1
call fcn.00444ef0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4ca3c0
call fcn.0048c471
mov ecx, dword [esi + 0x9740]
call fcn.00444cf0
lea eax, [edi - 1]
cmp eax, 3
ja case.default.0x455aff
jmp dword [eax*4 + 0x4561d8]
push 1
mov ecx, esi
call fcn.0045a700
push 1
jmp 0x455b45
push 1
mov ecx, esi
call fcn.0045a700
push 2
jmp 0x455b45
push 1
mov ecx, esi
call fcn.0045a700
push 3
jmp 0x455b45
push 1
mov ecx, esi
call fcn.0045a700
push 4
jmp 0x455b45
push 1
mov ecx, esi
call fcn.0045a700
push 0
mov ecx, esi
call fcn.00457740
test al, al
jne 0x455b75
push 0
push 0xbbd
mov ecx, esi
call fcn.004522a0
mov ecx, dword [esp + 0x1130]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
call fcn.0045ce70
test al, al
je 0x455c9a
cmp edi, 4
je 0x455c9a
lea ecx, [esp + 0x30]
call fcn.0043b330
mov ecx, dword [esi + 0xa654]
mov dword [esp + 0x1138], 0x2a
push ecx
lea ecx, [esp + 0x34]
call fcn.0043b460
mov eax, dword [esi + 0x9740]
push 0x105
push 0
push 0
mov edx, dword [eax + 0x1c]
push edx
call dword [sym.imp.USER32.dll_RedrawWindow]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4ca3ac
call fcn.0048c471
mov ecx, dword [esi + 0x9740]
call fcn.00444cf0
mov eax, dword [esi + 0xa638]
mov edx, dword [esi + 0xa620]
lea ecx, [esi + 0xa63c]
push eax
mov eax, dword [esi + 0xa624]
push ecx
mov ecx, dword [esi + 0xa09c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0045d2e0
mov ecx, esi
call fcn.004567c0
test al, al
je 0x455c45
mov ecx, esi
call fcn.004569a0
test al, al
jne 0x455c38
push 0xa
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4ca384
jmp 0x455c55
push 0
push 1
mov ecx, esi
call fcn.00456dd0
jmp 0x455c6f
push 0xa
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4ca360
call fcn.0048c471
mov ecx, esi
call fcn.00452130
push 0
push 0xbc0
mov ecx, esi
call fcn.004522a0
lea ecx, [esp + 0x30]
mov dword [esp + 0x1138], 0xffffffff
call fcn.0043b3c0
mov ecx, dword [esp + 0x1130]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
call fcn.0045cea0
test al, al
jne 0x455cd0
mov ecx, esi
call fcn.0045ce70
test al, al
je 0x4561bf
cmp edi, 4
je 0x455cd9
mov ecx, dword [esp + 0x1130]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp edi, 4
jne 0x455f35
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4ca34c
call fcn.0048c471
mov ecx, dword [esi + 0x9740]
call fcn.00444cf0
mov ecx, esi
call fcn.0045a770
test al, al
je 0x455d09
push 0
mov ecx, esi
call fcn.0045a700
push 0x4ca340
lea ecx, [esp + 0x28]
call fcn.0048c471
mov edx, dword [esi + 0xa638]
mov ecx, dword [esi + 0xa620]
lea eax, [esp + 0x24]
push edx
mov edx, dword [esi + 0xa624]
push eax
mov eax, dword [esi + 0xa09c]
push ecx
push edx
push eax
mov ecx, esi
mov dword [esp + 0x114c], 0x2b
call fcn.0045d2e0
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0048c178
mov ecx, esi
call fcn.0045d2a0
push 0
lea ecx, [esp + 0x34]
call fcn.00460a00
mov ecx, dword [0x4cc854]
mov dword [esp + 0x20], ecx
mov al, byte [esi + 0x999a]
mov bl, 0x2d
cmp al, 0x35
mov byte [esp + 0x1138], bl
jne 0x455dfa
mov dword [esp + 0xc], ecx
mov eax, dword [esi + 0xa634]
mov ecx, dword [esi + 0xa630]
push eax
push ecx
lea edx, [esp + 0x14]
push str._5.1f
push edx
mov byte [esp + 0x1148], 0x2e
call fcn.0048a7fc
mov eax, dword [esp + 0x1c]
push eax
call fcn.00475280
fmul qword [str.333333]
mov eax, dword [esp + 0x20]
fstp qword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push str._s____5.0f
push ecx
call fcn.0048a7fc
add esp, 0x28
lea ecx, [esp + 0xc]
mov byte [esp + 0x1138], bl
call fcn.0048c403
jmp 0x455e25
mov edx, dword [esi + 0xa634]
cmp al, 0x36
mov eax, dword [esi + 0xa630]
push edx
push eax
jne 0x455e13
push str._5.1f
jmp 0x455e18
push str._5.2f
lea ecx, [esp + 0x2c]
push ecx
call fcn.0048a7fc
add esp, 0x10
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0048c178
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
mov byte [esp + 0x1144], 0x2f
call fcn.0048c178
lea ecx, [esp + 0x38]
mov byte [esp + 0x1140], bl
call fcn.00460b70
mov ecx, esi
call fcn.00460950
test al, al
jne 0x455e73
lea ecx, [esp + 0x30]
call fcn.00490c05
lea ecx, [esp + 0x20]
mov byte [esp + 0x1138], 0x2c
call fcn.0048c403
lea ecx, [esp + 0x604]
mov byte [esp + 0x1138], 0x36
call fcn.0041e3f0
lea ecx, [esp + 0x5f8]
mov byte [esp + 0x1138], 0x35
call fcn.0048c403
lea ecx, [esp + 0x5f4]
mov byte [esp + 0x1138], 0x34
call fcn.0048c403
lea ecx, [esp + 0x5b8]
mov byte [esp + 0x1138], 0x33
call fcn.0048d5a4
lea ecx, [esp + 0x57c]
mov byte [esp + 0x1138], 0x32
call fcn.0049555f
lea ecx, [esp + 0xc8]
mov byte [esp + 0x1138], 0x31
call fcn.0041dd70
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1138], 0x30
call fcn.0049555f
lea ecx, [esp + 0x30]
mov byte [esp + 0x1138], 0x2b
call fcn.00490846
mov dword [esp + 0x1138], 0xffffffff
lea ecx, [esp + 0x24]
jmp 0x4561ba
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4ca34c
call fcn.0048c471
mov ecx, dword [esi + 0x9740]
call fcn.00444cf0
mov ecx, esi
call fcn.0045a770
test al, al
je 0x455f65
push 0
mov ecx, esi
call fcn.0045a700
push 0x4ca340
lea ecx, [esp + 0x18]
call fcn.0048c471
mov ecx, dword [esi + 0xa638]
mov eax, dword [esi + 0xa620]
lea edx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 0xa624]
push edx
mov edx, dword [esi + 0xa09c]
push eax
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x114c], 0x37
call fcn.0045d2e0
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0048c178
mov ecx, esi
call fcn.0045d2a0
push 0
lea ecx, [esp + 0xb5c]
call fcn.00460a00
mov ecx, dword [0x4cc854]
mov dword [esp + 0xc], ecx
mov al, byte [esi + 0x999a]
mov bl, 0x39
cmp al, 0x35
mov byte [esp + 0x1138], bl
jne 0x456059
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0xa634]
mov edx, dword [esi + 0xa630]
push ecx
push edx
lea eax, [esp + 0x18]
push str._5.1f
push eax
mov byte [esp + 0x1148], 0x3a
call fcn.0048a7fc
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00475280
fmul qword [str.333333]
mov ecx, dword [esp + 0x24]
fstp qword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push edx
push eax
push ecx
lea edx, [esp + 0x2c]
push str._s____5.0f
push edx
call fcn.0048a7fc
add esp, 0x28
lea ecx, [esp + 0x10]
mov byte [esp + 0x1138], bl
call fcn.0048c403
jmp 0x456084
mov ecx, dword [esi + 0xa630]
cmp al, 0x36
mov eax, dword [esi + 0xa634]
push eax
push ecx
jne 0x456072
push str._5.1f
jmp 0x456077
push str._5.2f
lea edx, [esp + 0x18]
push edx
call fcn.0048a7fc
add esp, 0x10
push ecx
lea eax, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0048c178
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x1144], 0x3b
call fcn.0048c178
lea ecx, [esp + 0xb60]
mov byte [esp + 0x1140], bl
call fcn.00460b70
mov ecx, esi
call fcn.00460950
test al, al
jne 0x4560d8
lea ecx, [esp + 0xb58]
call fcn.00490c05
fld qword [esi + 0xa630]
fmul qword [0x4a9ea8]
call fcn.00476744
mov ecx, 0x493e0
push 1
sub ecx, eax
push ecx
mov ecx, esi
call fcn.004522a0
lea ecx, [esp + 0xc]
mov byte [esp + 0x1138], 0x38
call fcn.0048c403
lea ecx, [esp + 0x112c]
mov byte [esp + 0x1138], 0x42
call fcn.0041e3f0
lea ecx, [esp + 0x1120]
mov byte [esp + 0x1138], 0x41
call fcn.0048c403
lea ecx, [esp + 0x111c]
mov byte [esp + 0x1138], 0x40
call fcn.0048c403
lea ecx, [esp + 0x10e0]
mov byte [esp + 0x1138], 0x3f
call fcn.0048d5a4
lea ecx, [esp + 0x10a4]
mov byte [esp + 0x1138], 0x3e
call fcn.0049555f
lea ecx, [esp + 0xbf0]
mov byte [esp + 0x1138], 0x3d
call fcn.0041dd70
lea ecx, [esp + 0xbb4]
mov byte [esp + 0x1138], 0x3c
call fcn.0049555f
lea ecx, [esp + 0xb58]
mov byte [esp + 0x1138], 0x37
call fcn.00490846
mov dword [esp + 0x1138], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.0048c403
mov ecx, dword [esp + 0x1130]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4