Function at 0x412520
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x62c
mov eax, dword [0x5bb204]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x618], esi
mov dword [ebp - 0x610], 0
mov byte [ebx], 0
mov byte [ebp - 0x204], 0
call fcn.0040edc0
push 0
push esi
mov dword [ebp - 0x620], eax
call fcn.00488600
mov edi, eax
add esp, 8
mov dword [ebp - 0x608], edi
test edi, edi
je 0x414d47
mov ecx, dword [ebp + 0x20]
and ecx, 1
mov dword [ebp - 0x614], ecx
jne 0x41262b
mov eax, dword [edi + 4]
push 0x40
push eax
call fcn.004856b0
add esp, 4
push eax
push 0x697840
call fcn.00548360
mov ecx, dword [edi + 0x38]
push ecx
call fcn.004856b0
add esp, 0x10
mov dword [0x697884], eax
test eax, eax
je 0x4125cb
cmp byte [eax], 0
jne 0x4125cb
mov dword [0x697884], 0
cmp byte [ebx], 0
je 0x4125e5
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4125d3
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4125f0
sub eax, edx
mov edi, eax
mov eax, dword [ebp + 0x18]
push eax
push 0x5dc3
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x59cd90
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x614]
mov edi, dword [ebp - 0x608]
add esp, 0x10
cmp byte [ebx], 0
je 0x412651
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412633
mov dx, word [0x59c7f8]
mov ecx, dword [ebp - 0x614]
mov word [edi], dx
mov edi, dword [ebp - 0x608]
test byte [ebp + 0x20], 2
je 0x41275d
mov eax, dword [ebp - 0x620]
movzx ecx, byte [eax + 0x338]
push esi
push ecx
call fcn.00487d70
add esp, 8
mov dword [ebp - 0x60c], eax
test eax, eax
je 0x41270e
mov edx, eax
mov esi, dword [edx + 8]
test esi, esi
jle 0x4126d4
cmp esi, 3
jge 0x4126d4
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412693
sub eax, edx
push esi
push 0x4c4bb8
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + edi]
push str._3_s_d_A
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4126c2
mov cx, word [0x59c7f8]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4126e0
sub eax, edx
mov edx, dword [ebp - 0x60c]
mov esi, eax
mov eax, dword [edx + 4]
push eax
push 0x5e1d
call fcn.004856b0
add esp, 4
push eax
push str._3_s_d_A
lea ecx, [ebx + esi]
push ecx
jmp 0x412732
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412713
sub eax, edx
push 0x5e1d
mov edi, eax
call fcn.004856b0
push eax
push str._3_s___A
lea edx, [ebx + edi]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412740
mov ax, word [0x59c7f8]
mov ecx, dword [ebp - 0x614]
mov word [edi], ax
mov edi, dword [ebp - 0x608]
mov eax, dword [edi + 8]
mov dword [ebp - 0x624], eax
cmp eax, 2
jne 0x4129ac
test ecx, ecx
jne 0x4127b1
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412778
sub eax, edx
push 0x4e33
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e01
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x59cd70
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov dword [ebp - 0x60c], 0
call fcn.0040edc0
movzx eax, word [eax + 0x54a]
test eax, eax
je 0x4127e4
push eax
call fcn.00486c80
add esp, 4
test eax, eax
je 0x4127e4
mov edx, dword [eax + 0x88]
mov dword [ebp - 0x60c], edx
mov eax, dword [ebp - 0x608]
mov edi, dword [eax + 0xc]
test edi, 0x8000000
je 0x4127fc
mov esi, 0x5dcf
jmp 0x412849
test edi, 0x1000000
je 0x41280b
mov esi, 0x5dd0
jmp 0x412849
test edi, 0x800000
je 0x41281a
mov esi, 0x5dd1
jmp 0x412849
test edi, 0x2000000
je 0x412829
mov esi, 0x5dd2
jmp 0x412849
test edi, 0x4000000
je 0x412838
mov esi, 0x5dd3
jmp 0x412849
test edi, 0x10400000
je 0x4128e4
mov esi, 0x5dd4
cmp dword [ebp - 0x614], 0
jne 0x412870
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x412855
mov cx, word [0x59cd6c]
mov word [eax], cx
mov dl, byte [0x59cd6e]
mov byte [eax + 2], dl
test dword [ebp - 0x60c], edi
je 0x412896
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412880
sub eax, edx
push esi
mov edi, eax
call fcn.004856b0
add esp, 4
jmp 0x4128c8
push esi
call fcn.004856b0
push eax
lea edx, [ebp - 0x404]
push str._2_s_1
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4128b7
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x404]
push eax
push 0x5e02
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x608]
mov eax, dword [edx + 0x44]
test ecx, ecx
je 0x4128fe
dec ecx
imul ecx, dword [edx + 0x9e]
add eax, ecx
push 0
push 1
push ebx
push 0x5e21
push eax
call fcn.0040f8d0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412914
cmp dword [ebp - 0x614], 0
mov dx, word [0x59cbe8]
mov word [edi], dx
jne 0x413f4b
mov esi, dword [ebp - 0x608]
mov eax, dword [esi + 0x9e]
test eax, eax
je 0x412971
push 0
push 1
push ebx
push 0x5e22
push eax
call fcn.0040f8d0
add esp, 0x14
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412960
mov ax, word [0x59cbe8]
mov word [edi], ax
mov eax, dword [esi + 0x9a]
test eax, eax
je 0x413f4b
push 0
push 1
push ebx
push 0x5e8a
push eax
call fcn.0040f8d0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412995
mov cx, word [0x59cbe8]
mov word [edi], cx
jmp 0x413f4b
cmp eax, 4
jne 0x413c54
test ecx, ecx
jne 0x413f4b
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4129c2
sub eax, esi
push 0x4e35
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e01
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push 0x59cd70
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp - 0x608]
push edi
push esi
mov dword [ebp - 0x614], 0
call fcn.00488980
mov dword [ebp - 0x60c], eax
mov eax, dword [esi + 0xc]
add eax, 0xfffffffd
add esp, 0x18
cmp eax, 0x31
ja case.0x412a26.4
jmp dword [eax*4 + 0x414d84]
cmp byte [ebx], 0
je 0x412a46
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412a35
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
jmp 0x412a50
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412a50
sub eax, edx
push 0x5ee0
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x59cc54
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [ebp - 0x60c]
test esi, esi
je 0x412ad7
mov eax, dword [ebp - 0x608]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x412ad7
test esi, esi
jns 0x412aa6
neg eax
push 0
push 1
push ebx
push 0x5e23
push eax
call fcn.0040f8d0
add esp, 0x14
cmp dword [ebp - 0x614], 0
jne 0x412ad7
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412ac5
mov cx, word [0x59cbe8]
mov word [edi], cx
cmp dword [ebp - 0x610], 0
je case.0x412a26.43
cmp byte [ebx], 0
je 0x412b02
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412af0
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, dword [ebp - 0x610]
mov esi, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412b10
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412b20
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.0x412a26.43
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov edx, esi
mov ecx, dword [edx + 0x4c]
test ecx, ecx
je 0x412bd1
cmp byte [ebx], 0
je 0x412b71
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412b60
mov ax, word [0x59c7f8]
mov word [edi], ax
push 1
push 0x3e8
push ecx
call fcn.00440f20
add esp, 0xc
push 2
lea ecx, [ebp - 0x404]
push ecx
sub esp, 8
fstp qword [esp]
call fcn.00440f90
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412ba0
sub eax, edx
lea edx, [ebp - 0x404]
push edx
push 0x5e8e
mov edi, eax
call fcn.004856b0
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
push eax
lea eax, [ebx + edi]
push eax
call esi
add esp, 0xc
jmp 0x412bd7
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
cmp byte [ebx], 0
je 0x412bf2
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412be0
mov cx, word [0x59c7f8]
mov word [edi], cx
mov edx, dword [ebp - 0x60c]
push 1
push 0x3e8
push edx
call fcn.00440f20
add esp, 0xc
push 2
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.00440f90
add esp, 0x10
cmp dword [ebp - 0x618], 0x226
mov eax, ebx
lea edx, [eax + 1]
jne 0x412c60
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412c30
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x4c4ba6
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push edx
call esi
add esp, 0xc
jmp case.0x412a26.43
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412c60
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x404]
push eax
push 0x5e04
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push ecx
call esi
add esp, 0xc
jmp case.0x412a26.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
push 0
lea edx, [ebp - 0x204]
push 0
mov eax, edx
push eax
mov dword [ebp - 0x610], edx
push 0x5dec
push esi
call fcn.0040f8d0
add esp, 0x14
mov dword [ebp - 0x614], 1
jmp 0x412a8f
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
mov dword [ebp - 0x610], ecx
push 0x5ded
jmp 0x412cb4
push 0
push 1
push ebx
push 0x5e07
push edi
call fcn.0040f8d0
add esp, 0x14
jmp case.0x412a26.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
neg eax
mov esi, eax
push 0x5e08
push esi
mov dword [ebp - 0x610], ecx
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412d46
mov ax, word [0x59cbe8]
mov word [edi], ax
jmp 0x412a8f
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
neg eax
mov esi, eax
push 0x5e09
push esi
mov dword [ebp - 0x610], ecx
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412d96
mov ax, word [0x59cbe8]
mov word [edi], ax
jmp 0x412a8f
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
neg eax
mov esi, eax
push 0x5e0a
push esi
mov dword [ebp - 0x610], ecx
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412de6
mov ax, word [0x59cbe8]
mov word [edi], ax
jmp 0x412a8f
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
cmp byte [ebx], 0
je 0x412e23
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412e11
mov cx, word [0x59c7f8]
mov word [edi], cx
mov edx, esi
mov edi, dword [edx + 0x4c]
test edi, edi
je 0x412e92
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412e31
sub eax, edx
push 0x5e68
mov esi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + esi]
push 0x59cc54
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0
push 0
push ebx
push 0
neg edi
push edi
call fcn.0040f8d0
add esp, 0x24
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412e80
mov cx, word [0x59c7f8]
mov word [edi], cx
mov edi, 0x37
sub edi, dword [ebp - 0x60c]
cmp edi, 5
jge 0x412ea7
mov edi, 5
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412eb0
sub eax, edx
push edi
push 0x5e67
mov esi, eax
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + esi]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.0x412a26.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
neg eax
mov esi, eax
push 0x5e0b
push esi
mov dword [ebp - 0x610], ecx
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412f16
mov ax, word [0x59cbe8]
mov word [edi], ax
jmp 0x412a8f
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
push 0x5e0c
push esi
mov dword [ebp - 0x610], ecx
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412f62
mov ax, word [0x59cbe8]
mov word [edi], ax
jmp 0x412a8f
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov ecx, esi
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x412fa1
push 0
push 1
push ebx
push 0x5e23
push eax
call fcn.0040f8d0
add esp, 0x14
mov edx, dword [ebp - 0x620]
add edx, 0x1761
push edx
call fcn.00488a20
push 0
push 3
push ebx
push 0x5e0d
push eax
call fcn.0040f8d0
add esp, 0x18
jmp case.0x412a26.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
push 3
push ebx
push 0x5e0e
push eax
call fcn.0040f8d0
add esp, 0x14
jmp case.0x412a26.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
push 3
push ebx
push 0x5e0f
push eax
call fcn.0040f8d0
add esp, 0x14
jmp case.0x412a26.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
push 3
push ebx
push 0x5e10
push eax
call fcn.0040f8d0
add esp, 0x14
jmp case.0x412a26.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
push 0
lea eax, [ebp - 0x204]
push 0
mov ecx, eax
push ecx
push 0x5e11
push esi
mov dword [ebp - 0x610], eax
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413073
mov dx, word [0x59cbe8]
mov word [edi], dx
jmp 0x412a8f
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
push 0
lea eax, [ebp - 0x204]
push 0
mov ecx, eax
push ecx
push 0x5e12
push esi
mov dword [ebp - 0x610], eax
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4130c0
mov dx, word [0x59cbe8]
mov word [edi], dx
jmp 0x412a8f
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
mov eax, dword [ebp - 0x608]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x413184
cmp byte [ebx], 0
je 0x413112
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413100
mov dx, word [0x59c7f8]
mov word [edi], dx
push 1
push 0x3e8
push ecx
call fcn.00440f20
fmul qword [0x59ca28]
add esp, 0xc
push 1
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.00440f90
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413144
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x5de1
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push str._s_s_s__
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x4131a1
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413190
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4131a6
sub eax, edx
mov edi, eax
mov eax, 0x66666667
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push 0x5de1
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push str._s_d__
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412a26.43
mov dword [ebp - 0x610], 0xf
jmp 0x41322e
mov dword [ebp - 0x610], 0x10
jmp 0x41322e
mov dword [ebp - 0x610], 0x11
jmp 0x41322e
mov dword [ebp - 0x610], 0x12
jmp 0x41322e
mov dword [ebp - 0x610], 0x13
jmp 0x41322e
mov dword [ebp - 0x610], 0x14
mov ecx, dword [ebp - 0x60c]
test ecx, ecx
je case.0x412a26.43
mov eax, esi
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x614], eax
test eax, eax
je case.0x412a26.43
test ecx, ecx
jns 0x41325b
neg eax
mov dword [ebp - 0x614], eax
cmp byte [ebx], 0
je 0x413275
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413263
mov cx, word [0x59c7f8]
mov word [edi], cx
push 0x5e23
call fcn.004856b0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413284
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413290
mov edx, dword [ebp - 0x614]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
push 0
push ebx
mov ecx, eax
and ecx, 3
push 0x5ddb
push edx
rep movsb byte es:[edi], byte [esi]
call fcn.0040f8d0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4132c2
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4132d8
mov ecx, dword [ebp - 0x60c]
push ecx
sub eax, edx
push 0x5ddb
mov esi, eax
call fcn.004856b0
mov edx, dword [ebp - 0x610]
add esp, 4
push eax
add edx, 0x5dc0
push edx
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + esi]
push 0x59cd48
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412a26.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
mov ecx, dword [ebp - 0x608]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x4133d4
cmp byte [ebx], 0
je 0x413362
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413350
mov dx, word [0x59c7f8]
mov word [edi], dx
push 1
push 0x3e8
push ecx
call fcn.00440f20
fmul qword [0x59ca28]
add esp, 0xc
push 1
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.00440f90
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413394
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x5de0
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push str._s_s_s__
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x4133f1
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4133e0
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4133f6
sub eax, edx
mov edi, eax
mov eax, 0x66666667
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push 0x5de0
jmp 0x4131c8
mov dword [ebp - 0x610], 0x19
jmp 0x413433
mov dword [ebp - 0x610], 0x1a
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov eax, esi
mov esi, dword [eax + 0x4c]
test esi, esi
je 0x4134aa
cmp byte [ebx], 0
je 0x413463
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413451
mov cx, word [0x59c7f8]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413468
sub eax, edx
mov edx, dword [ebp - 0x610]
add edx, 0x5dc0
push esi
push edx
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + edi]
push 0x59cd48
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x4134c4
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4134b2
mov cx, word [0x59c7f8]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4134d0
sub eax, edx
mov edx, dword [ebp - 0x60c]
mov edi, eax
mov eax, dword [ebp - 0x610]
push edx
add eax, 0x5dc0
push eax
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push str._s_d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412a26.43
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov edx, esi
mov esi, dword [edx + 0x4c]
test esi, esi
je 0x413580
cmp byte [ebx], 0
je 0x413541
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413530
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413546
sub eax, edx
push esi
push 0x5e69
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x59cd48
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x41359a
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413588
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4135a0
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x60c]
push eax
push 0x5e69
jmp 0x4134ee
mov dword [ebp - 0x610], 0xaa
jmp 0x4135de
mov dword [ebp - 0x610], 0xab
jmp 0x4135de
mov dword [ebp - 0x610], 0x21
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov edx, esi
mov esi, dword [edx + 0x4c]
test esi, esi
je 0x413658
cmp byte [ebx], 0
je 0x413611
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413600
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413616
mov ecx, dword [ebp - 0x610]
add ecx, 0x5dc0
sub eax, edx
push esi
push ecx
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push str._s_s_d__
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x413671
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413660
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413676
mov ecx, dword [ebp - 0x60c]
sub eax, edx
mov edx, dword [ebp - 0x610]
push ecx
add edx, 0x5dc0
push edx
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + edi]
push str._s_d__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412a26.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412a26.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
neg eax
mov esi, eax
push 0x5e18
push esi
mov dword [ebp - 0x610], ecx
call fcn.0040f8d0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4136f0
mov ax, word [0x59cbe8]
mov word [edi], ax
jmp 0x412a8f
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov ecx, esi
mov esi, dword [ecx + 0x4c]
test esi, esi
je 0x413778
cmp byte [ebx], 0
je 0x413736
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413724
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
jmp 0x413740
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413740
sub eax, edx
push esi
push 0x5ee1
lea edi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
push 0x59cd48
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x413791
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413780
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413796
mov ecx, dword [ebp - 0x60c]
push ecx
sub eax, edx
push 0x5ee1
lea edi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push 0x59cd2c
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412a26.43
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov edx, esi
mov esi, dword [edx + 0x4c]
test esi, esi
je 0x41383b
cmp byte [ebx], 0
je 0x413801
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4137f0
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413806
sub eax, edx
push esi
push 0x3c
lea edi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
push str._s_s_d.00
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x413855
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413843
mov cx, word [0x59c7f8]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413860
sub eax, edx
mov edx, dword [ebp - 0x60c]
push edx
push 0x3c
lea edi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push str._s_d.00
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412a26.43
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov eax, esi
mov esi, dword [eax + 0x4c]
test esi, esi
je 0x41390d
cmp byte [ebx], 0
je 0x4138c2
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4138b0
mov cx, word [0x59c7f8]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4138c7
sub eax, edx
push esi
push 0x5dd9
lea edi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push 0x519c
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
push str._s_s_s_d
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
cmp byte [ebx], 0
je 0x413927
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413915
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413930
sub eax, edx
lea edi, [ebx + eax]
mov eax, dword [ebp - 0x60c]
push eax
push 0x5dd9
call fcn.004856b0
add esp, 4
push eax
push 0x519c
call fcn.004856b0
add esp, 4
push eax
push 0x59cd48
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412a26.43
mov dword [ebp - 0x610], 0x509b
jmp 0x413989
mov dword [ebp - 0x610], 0x509c
cmp dword [ebp - 0x60c], 0
je case.0x412a26.43
mov ecx, esi
mov esi, dword [ecx + 0x4c]
test esi, esi
je 0x413a0a
cmp byte [ebx], 0
je 0x4139b9
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4139a7
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4139c0
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x610]
push esi
push eax
call fcn.004856b0
add esp, 4
push eax
push 0x519c
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push str._s_s_s_d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
cmp byte [ebx], 0
je 0x413a24
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413a12
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413a30
mov ecx, dword [ebp - 0x610]
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x60c]
push eax
push ecx
call fcn.004856b0
add esp, 4
push eax
push 0x519c
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push 0x59cd48
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412a26.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
mov eax, dword [ebp - 0x608]
cmp dword [eax + 0x4c], 0
je case.0x412a26.43
cmp byte [ebx], 0
je 0x413ab2
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413aa0
mov cx, word [0x59c7f8]
mov word [edi], cx
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413ab5
mov dx, word [0x59c7f8]
mov eax, ebx
mov word [edi], dx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ad0
sub eax, edx
push esi
push 0x5ddb
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x4c5f12
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + edi]
push str._s_s_s_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
jmp case.0x412a26.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
mov ecx, dword [ebp - 0x608]
cmp dword [ecx + 0x4c], 0
je case.0x412a26.43
cmp byte [ebx], 0
je 0x413b55
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413b43
mov dx, word [0x59c7f8]
mov word [edi], dx
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413b58
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413b70
sub eax, edx
push esi
push 0x5ddd
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x59cd48
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412a26.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412a26.43
mov edx, dword [ebp - 0x608]
cmp dword [edx + 0x4c], 0
je case.0x412a26.43
cmp byte [ebx], 0
je 0x413be6
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413bd5
mov ax, word [0x59c7f8]
mov word [edi], ax
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413bf0
mov cx, word [0x59c7f8]
mov eax, ebx
mov word [edi], cx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413c07
sub eax, edx
push esi
push 0x5ddb
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x4c5f08
call fcn.004856b0
add esp, 4
push eax
push 0x5e23
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push str._s_s_s_d
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
jmp case.0x412a26.43
test ecx, ecx
jne 0x413f4b
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413c61
sub eax, edx
push 0x4e34
mov esi, eax
call fcn.004856b0
add esp, 4
push eax
push 0x5e01
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + esi]
push 0x59cd70
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x608]
mov eax, dword [ecx + 0x9e]
add esp, 0x10
test eax, eax
je 0x413da2
mov edx, ecx
test dword [edx + 0xd8], 0x20000000
je 0x413d67
mov ecx, dword [ebp - 0x620]
mov cl, byte [ecx + 0x3cd]
cmp cl, 3
je 0x413cda
cmp cl, 2
jne 0x413d67
lea edi, [eax + eax*4]
add edi, edi
mov ecx, edi
imul ecx, ecx, 0x64
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, eax
mov eax, 0x66666667
imul edi
push 0
sar edx, 2
push 1
mov esi, edx
push ebx
shr esi, 0x1f
add esi, edx
push 0x5e20
push esi
call fcn.0040f8d0
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
lea ecx, [edi + ecx*2]
add esp, 0x14
test ecx, ecx
je 0x413d7a
mov esi, ebx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x413d31
sub esi, edx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
push ecx
lea eax, [ebx + esi]
push 0x59cd04
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x413d7a
push 0
push 1
push ebx
push 0x5e20
push eax
call fcn.0040f8d0
add esp, 0x14
mov ecx, dword [ebp - 0x608]
test dword [ecx + 0xd8], 0x30000000
jne 0x413da2
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413d90
mov dx, word [0x59cbe8]
mov word [edi], dx
mov esi, dword [ebp - 0x608]
test dword [esi + 0xd8], 0x10000000
jne 0x413de5
mov eax, dword [esi + 0x9a]
test eax, eax
je 0x413de5
push 0
push 1
push ebx
push 0x5e89
push eax
call fcn.0040f8d0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413dd4
mov ax, word [0x59cbe8]
mov word [edi], ax
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x413e63
cmp byte [ebx], 0
je 0x413e06
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413df4
mov dx, word [0x59c7f8]
mov word [edi], dx
push 1
push 0x3e8
push ecx
call fcn.00440f20
add esp, 0xc
push 0
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.00440f90
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413e32
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x5e8c
mov esi, eax
call fcn.004856b0
add esp, 4
lea edx, [ebx + esi]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push edx
call esi
add esp, 0xc
jmp 0x413e69
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
cmp dword [ebp - 0x618], 0x13
jne 0x413f4b
cmp byte [ebx], 0
je 0x413e91
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413e80
mov ax, word [0x59c7f8]
mov word [edi], ax
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x413e94
mov cx, word [0x59cc4c]
mov word [eax], cx
mov dl, byte [0x59cc4e]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x620]
movzx edx, word [eax + 0xe18]
mov eax, ebx
test dx, dx
jne 0x413ee7
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ec6
sub eax, edx
push 0x5ec1
mov edi, eax
call fcn.004856b0
push eax
push str._s:____
lea ecx, [ebx + edi]
push ecx
jmp 0x413f22
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ef0
sub eax, edi
push edx
mov edi, eax
call fcn.0048a360
push eax
call fcn.004856b0
add esp, 8
push eax
push 0x5ec1
call fcn.004856b0
add esp, 4
push eax
push str._s:__s
lea eax, [ebx + edi]
push eax
call esi
add esp, 0x10
lea eax, [ebx - 1]
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x413f30
mov cx, word [0x59cc8c]
mov word [eax], cx
mov dl, byte [0x59cc8e]
mov byte [eax + 2], dl
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x618]
push 0
push eax
push ecx
call fcn.00488920
add esp, 0xc
test eax, eax
je 0x413faf
cmp eax, 1
jle 0x413faf
cmp byte [ebx], 0
je 0x413f83
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413f71
mov dx, word [0x59c7f8]
mov word [edi], dx
mov ecx, ebx
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x413f88
push eax
sub ecx, esi
push 0x5e88
mov esi, ecx
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + esi]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [ebp - 0x614], 0
jne 0x41444c
mov ecx, dword [ebp - 0x608]
mov edx, dword [ecx + 0x92]
test edx, edx
je 0x414017
cmp byte [ebx], 0
je 0x413fe5
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413fd4
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ff0
push edx
sub eax, esi
push 0x5e1f
mov esi, eax
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + esi]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [ebp - 0x618], 0x1c1
je 0x4142a6
cmp byte [ebx], 0
je 0x414042
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414030
mov dx, word [0x59c7f8]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414047
sub eax, edx
push 0x5e13
mov esi, eax
call fcn.004856b0
push eax
lea eax, [ebx + esi]
push 0x59cc2c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x608]
mov eax, dword [ecx + 0x10]
add esp, 0x10
cmp eax, 9
ja case.0x414081.3
jmp dword [eax*4 + 0x414e4c]
push 0x5e14
call fcn.004856b0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414097
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4140a3
jmp 0x414298
push 0x5e15
call fcn.004856b0
add esp, 4
mov esi, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4140c0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4140d0
jmp 0x414298
test dword [ecx + 0xd8], 0x40000000
je 0x41411d
test dword [ecx + 0xdc], 0x8000
je 0x41411d
push 0x5f37
call fcn.004856b0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414104
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414110
jmp 0x414298
push 0x5e16
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414130
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414140
jmp 0x414298
push 0x5e53
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414160
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414170
jmp 0x414298
push 0x5e81
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414190
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4141a0
jmp 0x414298
push 0x5368
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4141c0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4141d0
jmp 0x414298
push 0x5369
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4141f0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414200
jmp 0x414298
push 0x537c
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414220
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414230
jmp 0x414298
push 0x4c4ba2
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414250
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414260
jmp 0x414298
push 0x5e17
call fcn.004856b0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414280
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414290
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [ebx], 0
je 0x4142c2
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4142b0
mov cx, word [0x59c7f8]
mov word [edi], cx
mov edi, dword [ebp - 0x620]
movzx eax, word [edi + 0x497]
movsx edx, word [edi + 0x4a3]
movsx ecx, word [edi + 0x4a1]
push 0
add edx, eax
push edx
movzx edx, word [edi + 0x495]
add ecx, edx
mov edx, dword [ebp - 0x618]
push ecx
mov ecx, dword [ebp + 0x18]
lea eax, [edi + 0x1761]
push eax
push ecx
push edx
mov dword [ebp - 0x610], 0
call fcn.00488ab0
add esp, 0x18
cmp dword [ebp - 0x624], 2
mov esi, eax
je 0x4143a1
mov eax, dword [ebp - 0x618]
push eax
call fcn.0047f100
add esp, 4
test eax, eax
jne 0x4143a1
cmp dword [edi + 0x3a5], esi
jae 0x414366
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414341
mov cx, word [0x59cc90]
mov word [eax], cx
mov dl, byte [0x59cc92]
mov byte [eax + 2], dl
mov dword [ebp - 0x610], 1
mov eax, ebx
lea edx, [eax + 1]
jmp 0x414370
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414370
sub eax, edx
push esi
push 0x5e18
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + edi]
push 0x59cd90
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x414425
movzx ecx, word [edi + 0x3bf]
cmp ecx, esi
jge 0x4143d5
lea eax, [ebx - 1]
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4143b0
mov dx, word [0x59cc90]
mov word [eax], dx
mov cl, byte [0x59cc92]
mov byte [eax + 2], cl
mov dword [ebp - 0x610], 1
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4143e0
sub eax, edx
mov edi, eax
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
sub esi, edx
push esi
push eax
push 0x5e19
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + edi]
push str._s:_d._02d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp dword [ebp - 0x610], 0
je 0x41444c
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414431
mov cx, word [0x59cc8c]
mov word [eax], cx
mov dl, byte [0x59cc8e]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x608]
mov eax, dword [eax + 0x70]
test eax, eax
je 0x414708
push eax
call fcn.00482c20
add esp, 4
mov dword [ebp - 0x614], eax
test eax, eax
je case.0x412a26.43
cmp byte [ebx], 0
je 0x414492
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414480
mov cx, word [0x59c7f8]
mov word [edi], cx
mov eax, dword [ebp - 0x608]
mov ecx, dword [eax + 0x70]
push 0x200
lea edx, [ebp - 0x404]
push edx
push ecx
call fcn.00482c60
mov edx, dword [ebp - 0x620]
movzx edx, word [edx + 0x3cb]
mov eax, ebx
add esp, 0xc
mov dword [ebp - 0x628], edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4144c8
sub eax, edi
mov edi, eax
lea eax, [ebp - 0x404]
push eax
push edx
push 0x5e1b
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414500
mov dx, word [0x59c7f8]
mov eax, dword [ebp - 0x608]
mov word [edi], dx
mov esi, dword [eax + 0x74]
test esi, esi
jne 0x414524
mov esi, 0x1c20
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414530
sub eax, edx
push 0x53ce
mov edi, eax
call fcn.004856b0
push eax
lea ecx, [ebx + edi]
push 0x59cc2c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414560
sub eax, edx
lea edx, [ebx + eax]
push edx
push 0x5e75
push esi
call fcn.00440ba0
add esp, 0xc
cmp dword [ebp + 0x20], 1
je 0x4145eb
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414584
mov ax, word [0x59c7f8]
mov ecx, dword [ebp - 0x608]
mov word [edi], ax
movzx edx, word [ecx + 0x78]
test edx, edx
jne 0x4145a8
mov edx, 0x13bf
mov eax, ebx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4145b0
sub eax, edi
push edx
mov edi, eax
call fcn.00486cb0
push eax
call fcn.004856b0
add esp, 8
push eax
push 0x53cf
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + edi]
push 0x59cc54
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4145f0
mov ax, word [0x59c7f8]
push 0x5e1c
mov word [edi], ax
call fcn.004856b0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414610
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414620
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x620]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x614]
movzx esi, word [ecx + 0x14e9]
movsx edx, word [eax + 0x4a7]
movzx ecx, word [eax + 0x3d4]
movzx eax, word [eax + 0x49b]
sub edx, ecx
add edx, eax
mov eax, ebx
cmp edx, esi
lea edx, [eax + 1]
jl 0x414685
jmp 0x414670
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414670
push esi
sub eax, edx
push 0x59c660
lea ecx, [ebx + eax]
push ecx
jmp 0x414698
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414685
push esi
sub eax, edx
push str._2_d_1
lea edx, [ebx + eax]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp - 0x614]
movsx edx, byte [eax + 0x14ef]
add esp, 0xc
cmp edx, 1
jle case.0x412a26.43
cmp byte [ebx], 0
je 0x4146d2
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4146c0
mov cx, word [0x59c7f8]
mov word [edi], cx
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4146d7
push edx
sub eax, esi
push 0x5f38
mov esi, eax
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + esi]
push 0x59cd90
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412a26.43
mov edi, dword [ebp - 0x620]
lea eax, [edi + 0x32c]
push eax
call fcn.00479590
mov ecx, dword [ebp - 0x608]
add esp, 4
cmp dword [ecx + 0x40], 0
mov esi, eax
je 0x4148d6
mov ecx, dword [ebp + 0x18]
push 0
lea edx, [ebp - 0x628]
push edx
mov edx, dword [ebp - 0x618]
lea eax, [ebp - 0x62c]
push eax
push 0
push ecx
push edx
call fcn.00488840
movsx eax, word [edi + 0x49f]
movzx ecx, word [edi + 0x493]
add eax, ecx
sub eax, esi
cdq
sub eax, edx
add esp, 0x18
sar eax, 1
mov dword [ebp - 0x61c], eax
jns 0x41477d
mov dword [ebp - 0x61c], 0
mov eax, dword [ebp - 0x608]
test dword [eax + 0xd8], 0x80000000
je 0x4148c3
cmp dword [ebp - 0x618], 0x1c1
je 0x4148c3
cmp byte [ebx], 0
je 0x4147c2
lea edi, [ebx - 1]
jmp 0x4147b0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4147b0
mov dx, word [0x59c7f8]
mov word [edi], dx
mov edi, dword [ebp - 0x628]
mov eax, ebx
lea edx, [eax + 1]
cmp dword [ebp - 0x62c], edi
je 0x414810
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4147d5
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x62c]
push edi
push eax
push 0x5ddb
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + esi]
push str._s:__d_d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x41483c
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414810
sub eax, edx
push edi
push 0x5ddb
mov esi, eax
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebx + esi]
push str._s:__d
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [ebp - 0x608]
mov byte [ebp - 0x604], 0
mov edi, 1
add esi, 0xc2
cmp word [esi], 0
je 0x414883
lea eax, [edi + 0x4c5f08]
push eax
call fcn.004856b0
movzx ecx, word [esi]
push eax
push ecx
lea edx, [ebp - 0x604]
push edx
mov eax, edx
push 0x59ccdc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
inc edi
add esi, 2
cmp edi, 8
jle 0x414854
mov esi, dword [ebp - 0x61c]
test esi, esi
je 0x4148c3
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4148a0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4148a0
lea ecx, [ebp - 0x604]
push ecx
sub eax, edx
push esi
lea edx, [ebx + eax]
push 0x59ccd4
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, dword [ebp - 0x628]
mov esi, dword [ebp - 0x62c]
lea esi, [esi + eax]
sar esi, 1
jmp 0x41492a
movsx eax, word [edi + 0x49f]
movzx edx, word [edi + 0x493]
add eax, edx
sub eax, esi
jns 0x4148ec
xor eax, eax
mov edx, dword [ebp + 0x18]
push 0
lea ecx, [ebp - 0x61c]
push ecx
push eax
mov eax, dword [ebp - 0x618]
push edx
push eax
call fcn.004888c0
mov eax, dword [ebp - 0x608]
mov esi, dword [ebp - 0x61c]
add esp, 0x14
test dword [eax + 0xd8], 0x20000000
je 0x414930
movzx ecx, word [edi + 0xe1a]
add esi, ecx
mov dword [ebp - 0x61c], esi
mov eax, dword [ebp - 0x608]
cmp byte [eax + 0xb6], 0
je 0x414a07
cmp dword [eax + 0xb8], 0
je 0x414a07
cmp byte [ebx], 0
je 0x41496a
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414958
mov dx, word [0x59c7f8]
mov word [edi], dx
mov ecx, dword [ebp - 0x608]
lea eax, [ebp - 0x204]
push eax
mov eax, 0x10624dd3
mul dword [ecx + 0xb8]
shr edx, 6
push 0x5e75
push edx
call fcn.00440ba0
add esp, 0xc
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414996
mov dx, word [0x59cc4c]
mov word [eax], dx
mov cl, byte [0x59cc4e]
mov byte [eax + 2], cl
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4149b6
sub eax, edx
lea edx, [ebp - 0x204]
push edx
push 0x5395
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebx + edi]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4149e6
mov cx, word [0x59ccd0]
mov esi, dword [ebp - 0x61c]
mov word [eax], cx
mov dl, byte [0x59ccd2]
mov byte [eax + 2], dl
cmp dword [ebp - 0x618], 0x1c1
jne 0x414a74
cmp esi, 0x64
jle 0x414a23
mov esi, 0x64
mov dword [ebp - 0x61c], esi
cmp byte [ebx], 0
je 0x414a41
lea edi, [ebx - 1]
jmp 0x414a30
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414a30
mov ax, word [0x59c7f8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414a46
sub eax, edx
push esi
push 0x5df7
mov edi, eax
call fcn.004856b0
add esp, 4
push eax
lea ecx, [ebx + edi]
push str._s:__d__
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x414a91
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x608]
push edx
push eax
push esi
push 2
add eax, 0xd8
push eax
push ebx
call fcn.0040fc00
add esp, 0x18
mov eax, dword [ebp - 0x608]
cmp dword [eax + 0x7e], 0
je 0x414bda
cmp byte [ebx], 0
je 0x414ac2
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414ab0
mov cx, word [0x59c7f8]
mov word [edi], cx
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414ac5
mov dx, word [0x59cc50]
mov word [eax], dx
mov cl, byte [0x59cc52]
mov edx, dword [ebp - 0x608]
mov byte [eax + 2], cl
mov eax, dword [edx + 0x7e]
cdq
mov ecx, 0x64
idiv ecx
mov ecx, dword [ebp - 0x618]
mov esi, eax
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, 0x4e
je 0x414ba8
cmp ecx, 0x1bf
je 0x414ba8
cmp ecx, 0x298
jne 0x414b83
mov edx, dword [ebp - 0x608]
mov eax, dword [edx + 0x7e]
imul eax, dword [ebp + 0x18]
cdq
mov ecx, 0x64
idiv ecx
mov esi, eax
mov eax, 0x66666667
imul edx
sar edx, 2
mov edi, edx
shr edi, 0x1f
mov eax, ebx
add edi, edx
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x414b54
push edi
sub eax, ecx
push esi
push 0x4e41
mov dword [ebp - 0x624], eax
call fcn.004856b0
mov edx, dword [ebp - 0x624]
add esp, 4
push eax
push str._s__d._02d
add edx, ebx
push edx
jmp 0x414bd1
mov edi, ebx
lea edx, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x414b88
push eax
push esi
push 0x4e41
sub edi, edx
call fcn.004856b0
add esp, 4
push eax
push str._s__d._02d
jmp 0x414bce
mov edi, ebx
lea edx, [edi + 1]
lea ecx, [ecx]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x414bb0
push eax
push esi
push 0x4e41
sub edi, edx
call fcn.004856b0
add esp, 4
push eax
push str._s___d._02d
add edi, ebx
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov eax, dword [ebp - 0x608]
movzx edx, word [eax + 0xa4]
test edx, edx
je 0x414c4d
cmp byte [ebx], 0
je 0x414c05
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414bf3
mov cx, word [0x59c7f8]
mov word [edi], cx
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414c08
mov cx, word [0x59cc50]
mov word [eax], cx
mov cl, byte [0x59cc52]
mov byte [eax + 2], cl
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414c28
push edx
sub eax, esi
push 0x5f55
lea esi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x608]
movzx edx, word [edx + 0xa6]
test edx, edx
je 0x414cc9
cmp byte [ebx], 0
je 0x414c81
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414c70
mov ax, word [0x59c7f8]
mov word [edi], ax
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414c84
mov cx, word [0x59cc50]
mov word [eax], cx
mov cl, byte [0x59cc52]
mov byte [eax + 2], cl
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414ca4
push edx
sub eax, esi
push 0x5f56
lea esi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x608]
movzx edx, word [edx + 0xa8]
test edx, edx
je case.0x412a26.43
cmp byte [ebx], 0
je 0x414cf7
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414ce6
mov ax, word [0x59c7f8]
mov word [edi], ax
lea eax, [ebx - 1]
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414d00
mov cx, word [0x59cc50]
mov word [eax], cx
mov cl, byte [0x59cc52]
mov byte [eax + 2], cl
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414d20
push edx
sub eax, esi
push 0x5f5a
lea esi, [ebx + eax]
call fcn.004856b0
add esp, 4
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.0x412a26.43
mov byte [0x697840], 0
mov dword [0x697884], 0
test byte [ebp + 0x20], 1
jne 0x414d73
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
push ebx
call fcn.00411320
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00549540
mov esp, ebp
pop ebp
ret