Function at 0x412260
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x62c
mov eax, dword [0x5c43dc]
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.0040eae0
push 0
push esi
mov dword [ebp - 0x620], eax
call fcn.00489550
mov edi, eax
add esp, 8
mov dword [ebp - 0x608], edi
test edi, edi
je 0x414a87
mov ecx, dword [ebp + 0x20]
and ecx, 1
mov dword [ebp - 0x614], ecx
jne 0x41236b
mov eax, dword [edi + 4]
push 0x40
push eax
call fcn.004865f0
add esp, 4
push eax
push 0x6952c0
call fcn.005505f0
mov ecx, dword [edi + 0x38]
push ecx
call fcn.004865f0
add esp, 0x10
mov dword [0x695304], eax
test eax, eax
je 0x41230b
cmp byte [eax], 0
jne 0x41230b
mov dword [0x695304], 0
cmp byte [ebx], 0
je 0x412325
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412313
mov dx, word [0x5a47f0]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412330
sub eax, edx
mov edi, eax
mov eax, dword [ebp + 0x18]
push eax
push 0x5dc3
call fcn.004865f0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x5a4d80
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 0x412391
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412373
mov dx, word [0x5a47f0]
mov ecx, dword [ebp - 0x614]
mov word [edi], dx
mov edi, dword [ebp - 0x608]
test byte [ebp + 0x20], 2
je 0x41249d
mov eax, dword [ebp - 0x620]
movzx ecx, byte [eax + 0x338]
push esi
push ecx
call fcn.00488cc0
add esp, 8
mov dword [ebp - 0x60c], eax
test eax, eax
je 0x41244e
mov edx, eax
mov esi, dword [edx + 8]
test esi, esi
jle 0x412414
cmp esi, 3
jge 0x412414
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4123d3
sub eax, edx
push esi
push 0x4c4bb8
mov edi, eax
call fcn.004865f0
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 0x412402
mov cx, word [0x5a47f0]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412420
sub eax, edx
mov edx, dword [ebp - 0x60c]
mov esi, eax
mov eax, dword [edx + 4]
push eax
push 0x5e1d
call fcn.004865f0
add esp, 4
push eax
push str._3_s_d_A
lea ecx, [ebx + esi]
push ecx
jmp 0x412472
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412453
sub eax, edx
push 0x5e1d
mov edi, eax
call fcn.004865f0
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 0x412480
mov ax, word [0x5a47f0]
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 0x4126ec
test ecx, ecx
jne 0x4124f1
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4124b8
sub eax, edx
push 0x4e33
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e01
call fcn.004865f0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x5a4d60
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov dword [ebp - 0x60c], 0
call fcn.0040eae0
movzx eax, word [eax + 0x5a4]
test eax, eax
je 0x412524
push eax
call fcn.00487bb0
add esp, 4
test eax, eax
je 0x412524
mov edx, dword [eax + 0x88]
mov dword [ebp - 0x60c], edx
mov eax, dword [ebp - 0x608]
mov edi, dword [eax + 0xc]
test edi, 0x8000000
je 0x41253c
mov esi, 0x5dcf
jmp 0x412589
test edi, 0x1000000
je 0x41254b
mov esi, 0x5dd0
jmp 0x412589
test edi, 0x800000
je 0x41255a
mov esi, 0x5dd1
jmp 0x412589
test edi, 0x2000000
je 0x412569
mov esi, 0x5dd2
jmp 0x412589
test edi, 0x4000000
je 0x412578
mov esi, 0x5dd3
jmp 0x412589
test edi, 0x10400000
je 0x412624
mov esi, 0x5dd4
cmp dword [ebp - 0x614], 0
jne 0x4125b0
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x412595
mov cx, word [0x5a4d5c]
mov word [eax], cx
mov dl, byte [0x5a4d5e]
mov byte [eax + 2], dl
test dword [ebp - 0x60c], edi
je 0x4125d6
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4125c0
sub eax, edx
push esi
mov edi, eax
call fcn.004865f0
add esp, 4
jmp 0x412608
push esi
call fcn.004865f0
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 0x4125f7
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x404]
push eax
push 0x5e02
call fcn.004865f0
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 0x41263e
dec ecx
imul ecx, dword [edx + 0x9e]
add eax, ecx
push 0
push 1
push ebx
push 0x5e21
push eax
call fcn.0040f5f0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412654
cmp dword [ebp - 0x614], 0
mov dx, word [0x5a4bd8]
mov word [edi], dx
jne 0x413c8b
mov esi, dword [ebp - 0x608]
mov eax, dword [esi + 0x9e]
test eax, eax
je 0x4126b1
push 0
push 1
push ebx
push 0x5e22
push eax
call fcn.0040f5f0
add esp, 0x14
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4126a0
mov ax, word [0x5a4bd8]
mov word [edi], ax
mov eax, dword [esi + 0x9a]
test eax, eax
je 0x413c8b
push 0
push 1
push ebx
push 0x5e8a
push eax
call fcn.0040f5f0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4126d5
mov cx, word [0x5a4bd8]
mov word [edi], cx
jmp 0x413c8b
cmp eax, 4
jne 0x413994
test ecx, ecx
jne 0x413c8b
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412702
sub eax, esi
push 0x4e35
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e01
call fcn.004865f0
add esp, 4
push eax
lea edx, [ebx + edi]
push 0x5a4d60
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.004898d0
mov dword [ebp - 0x60c], eax
mov eax, dword [esi + 0xc]
add eax, 0xfffffffd
add esp, 0x18
cmp eax, 0x31
ja case.0x412766.4
jmp dword [eax*4 + 0x414ac4]
cmp byte [ebx], 0
je 0x412786
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412775
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
jmp 0x412790
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412790
sub eax, edx
push 0x5ee0
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x5a4c44
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [ebp - 0x60c]
test esi, esi
je 0x412817
mov eax, dword [ebp - 0x608]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x412817
test esi, esi
jns 0x4127e6
neg eax
push 0
push 1
push ebx
push 0x5e23
push eax
call fcn.0040f5f0
add esp, 0x14
cmp dword [ebp - 0x614], 0
jne 0x412817
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412805
mov cx, word [0x5a4bd8]
mov word [edi], cx
cmp dword [ebp - 0x610], 0
je case.0x412766.43
cmp byte [ebx], 0
je 0x412842
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412830
mov dx, word [0x5a47f0]
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 0x412850
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412860
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.0x412766.43
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov edx, esi
mov ecx, dword [edx + 0x4c]
test ecx, ecx
je 0x412911
cmp byte [ebx], 0
je 0x4128b1
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4128a0
mov ax, word [0x5a47f0]
mov word [edi], ax
push 1
push 0x3e8
push ecx
call fcn.00441780
add esp, 0xc
push 2
lea ecx, [ebp - 0x404]
push ecx
sub esp, 8
fstp qword [esp]
call fcn.004417e0
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4128e0
sub eax, edx
lea edx, [ebp - 0x404]
push edx
push 0x5e8e
mov edi, eax
call fcn.004865f0
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 0x412917
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
cmp byte [ebx], 0
je 0x412932
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412920
mov cx, word [0x5a47f0]
mov word [edi], cx
mov edx, dword [ebp - 0x60c]
push 1
push 0x3e8
push edx
call fcn.00441780
add esp, 0xc
push 2
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004417e0
add esp, 0x10
cmp dword [ebp - 0x618], 0x226
mov eax, ebx
lea edx, [eax + 1]
jne 0x4129a0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412970
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x4c4ba6
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
lea edx, [ebx + edi]
push edx
call esi
add esp, 0xc
jmp case.0x412766.43
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4129a0
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x404]
push eax
push 0x5e04
call fcn.004865f0
add esp, 4
push eax
lea ecx, [ebx + edi]
push ecx
call esi
add esp, 0xc
jmp case.0x412766.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.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.0040f5f0
add esp, 0x14
mov dword [ebp - 0x614], 1
jmp 0x4127cf
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.43
push 0
lea ecx, [ebp - 0x204]
push 0
mov edx, ecx
push edx
mov dword [ebp - 0x610], ecx
push 0x5ded
jmp 0x4129f4
push 0
push 1
push ebx
push 0x5e07
push edi
call fcn.0040f5f0
add esp, 0x14
jmp case.0x412766.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412a86
mov ax, word [0x5a4bd8]
mov word [edi], ax
jmp 0x4127cf
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412ad6
mov ax, word [0x5a4bd8]
mov word [edi], ax
jmp 0x4127cf
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412b26
mov ax, word [0x5a4bd8]
mov word [edi], ax
jmp 0x4127cf
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
cmp byte [ebx], 0
je 0x412b63
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412b51
mov cx, word [0x5a47f0]
mov word [edi], cx
mov edx, esi
mov edi, dword [edx + 0x4c]
test edi, edi
je 0x412bd2
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412b71
sub eax, edx
push 0x5e68
mov esi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
add esp, 4
push eax
lea eax, [ebx + esi]
push 0x5a4c44
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0
push 0
push ebx
push 0
neg edi
push edi
call fcn.0040f5f0
add esp, 0x24
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412bc0
mov cx, word [0x5a47f0]
mov word [edi], cx
mov edi, 0x37
sub edi, dword [ebp - 0x60c]
cmp edi, 5
jge 0x412be7
mov edi, 5
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412bf0
sub eax, edx
push edi
push 0x5e67
mov esi, eax
call fcn.004865f0
add esp, 4
push eax
lea edx, [ebx + esi]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.0x412766.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412c56
mov ax, word [0x5a4bd8]
mov word [edi], ax
jmp 0x4127cf
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412ca2
mov ax, word [0x5a4bd8]
mov word [edi], ax
jmp 0x4127cf
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov ecx, esi
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x412ce1
push 0
push 1
push ebx
push 0x5e23
push eax
call fcn.0040f5f0
add esp, 0x14
mov edx, dword [ebp - 0x620]
add edx, 0x18af
push edx
call fcn.00489970
push 0
push 3
push ebx
push 0x5e0d
push eax
call fcn.0040f5f0
add esp, 0x18
jmp case.0x412766.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.43
push 0
push 3
push ebx
push 0x5e0e
push eax
call fcn.0040f5f0
add esp, 0x14
jmp case.0x412766.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.43
push 0
push 3
push ebx
push 0x5e0f
push eax
call fcn.0040f5f0
add esp, 0x14
jmp case.0x412766.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.43
push 0
push 3
push ebx
push 0x5e10
push eax
call fcn.0040f5f0
add esp, 0x14
jmp case.0x412766.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412db3
mov dx, word [0x5a4bd8]
mov word [edi], dx
jmp 0x4127cf
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412e00
mov dx, word [0x5a4bd8]
mov word [edi], dx
jmp 0x4127cf
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.43
mov eax, dword [ebp - 0x608]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x412ec4
cmp byte [ebx], 0
je 0x412e52
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412e40
mov dx, word [0x5a47f0]
mov word [edi], dx
push 1
push 0x3e8
push ecx
call fcn.00441780
fmul qword [0x5b3888]
add esp, 0xc
push 1
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004417e0
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412e84
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x5de1
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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 0x412ee1
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412ed0
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412ee6
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.004865f0
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.0x412766.43
mov dword [ebp - 0x610], 0xf
jmp 0x412f6e
mov dword [ebp - 0x610], 0x10
jmp 0x412f6e
mov dword [ebp - 0x610], 0x11
jmp 0x412f6e
mov dword [ebp - 0x610], 0x12
jmp 0x412f6e
mov dword [ebp - 0x610], 0x13
jmp 0x412f6e
mov dword [ebp - 0x610], 0x14
mov ecx, dword [ebp - 0x60c]
test ecx, ecx
je case.0x412766.43
mov eax, esi
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x614], eax
test eax, eax
je case.0x412766.43
test ecx, ecx
jns 0x412f9b
neg eax
mov dword [ebp - 0x614], eax
cmp byte [ebx], 0
je 0x412fb5
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412fa3
mov cx, word [0x5a47f0]
mov word [edi], cx
push 0x5e23
call fcn.004865f0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412fc4
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412fd0
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.0040f5f0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413002
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413018
mov ecx, dword [ebp - 0x60c]
push ecx
sub eax, edx
push 0x5ddb
mov esi, eax
call fcn.004865f0
mov edx, dword [ebp - 0x610]
add esp, 4
push eax
add edx, 0x5dc0
push edx
call fcn.004865f0
add esp, 4
push eax
lea eax, [ebx + esi]
push 0x5a4d38
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412766.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.43
mov ecx, dword [ebp - 0x608]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x413114
cmp byte [ebx], 0
je 0x4130a2
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413090
mov dx, word [0x5a47f0]
mov word [edi], dx
push 1
push 0x3e8
push ecx
call fcn.00441780
fmul qword [0x5b3888]
add esp, 0xc
push 1
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004417e0
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4130d4
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x5de0
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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 0x413131
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413120
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413136
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 0x412f08
mov dword [ebp - 0x610], 0x19
jmp 0x413173
mov dword [ebp - 0x610], 0x1a
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov eax, esi
mov esi, dword [eax + 0x4c]
test esi, esi
je 0x4131ea
cmp byte [ebx], 0
je 0x4131a3
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413191
mov cx, word [0x5a47f0]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4131a8
sub eax, edx
mov edx, dword [ebp - 0x610]
add edx, 0x5dc0
push esi
push edx
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
add esp, 4
push eax
lea eax, [ebx + edi]
push 0x5a4d38
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x413204
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4131f2
mov cx, word [0x5a47f0]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413210
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.004865f0
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.0x412766.43
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov edx, esi
mov esi, dword [edx + 0x4c]
test esi, esi
je 0x4132c0
cmp byte [ebx], 0
je 0x413281
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413270
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413286
sub eax, edx
push esi
push 0x5e69
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x5a4d38
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x4132da
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4132c8
mov dx, word [0x5a47f0]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4132e0
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x60c]
push eax
push 0x5e69
jmp 0x41322e
mov dword [ebp - 0x610], 0xaa
jmp 0x41331e
mov dword [ebp - 0x610], 0xab
jmp 0x41331e
mov dword [ebp - 0x610], 0x21
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov edx, esi
mov esi, dword [edx + 0x4c]
test esi, esi
je 0x413398
cmp byte [ebx], 0
je 0x413351
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413340
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413356
mov ecx, dword [ebp - 0x610]
add ecx, 0x5dc0
sub eax, edx
push esi
push ecx
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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 0x4133b1
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4133a0
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4133b6
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.004865f0
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.0x412766.43
mov eax, dword [ebp - 0x60c]
test eax, eax
je case.0x412766.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.0040f5f0
lea edi, [ebp - 0x204]
add esp, 0x14
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413430
mov ax, word [0x5a4bd8]
mov word [edi], ax
jmp 0x4127cf
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov ecx, esi
mov esi, dword [ecx + 0x4c]
test esi, esi
je 0x4134b8
cmp byte [ebx], 0
je 0x413476
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413464
mov dx, word [0x5a47f0]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
jmp 0x413480
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413480
sub eax, edx
push esi
push 0x5ee1
lea edi, [ebx + eax]
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
add esp, 4
push eax
push 0x5a4d38
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [ebx], 0
je 0x4134d1
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4134c0
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4134d6
mov ecx, dword [ebp - 0x60c]
push ecx
sub eax, edx
push 0x5ee1
lea edi, [ebx + eax]
call fcn.004865f0
add esp, 4
push eax
push 0x5a4d1c
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412766.43
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov edx, esi
mov esi, dword [edx + 0x4c]
test esi, esi
je 0x41357b
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 [0x5a47f0]
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 0x3c
lea edi, [ebx + eax]
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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 0x413595
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413583
mov cx, word [0x5a47f0]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4135a0
sub eax, edx
mov edx, dword [ebp - 0x60c]
push edx
push 0x3c
lea edi, [ebx + eax]
call fcn.004865f0
add esp, 4
push eax
push str._s_d.00
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412766.43
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov eax, esi
mov esi, dword [eax + 0x4c]
test esi, esi
je 0x41364d
cmp byte [ebx], 0
je 0x413602
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4135f0
mov cx, word [0x5a47f0]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413607
sub eax, edx
push esi
push 0x5dd9
lea edi, [ebx + eax]
call fcn.004865f0
add esp, 4
push eax
push 0x519c
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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 0x413667
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413655
mov dx, word [0x5a47f0]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413670
sub eax, edx
lea edi, [ebx + eax]
mov eax, dword [ebp - 0x60c]
push eax
push 0x5dd9
call fcn.004865f0
add esp, 4
push eax
push 0x519c
call fcn.004865f0
add esp, 4
push eax
push 0x5a4d38
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412766.43
mov dword [ebp - 0x610], 0x509b
jmp 0x4136c9
mov dword [ebp - 0x610], 0x509c
cmp dword [ebp - 0x60c], 0
je case.0x412766.43
mov ecx, esi
mov esi, dword [ecx + 0x4c]
test esi, esi
je 0x41374a
cmp byte [ebx], 0
je 0x4136f9
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4136e7
mov dx, word [0x5a47f0]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413700
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x610]
push esi
push eax
call fcn.004865f0
add esp, 4
push eax
push 0x519c
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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 0x413764
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413752
mov dx, word [0x5a47f0]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413770
mov ecx, dword [ebp - 0x610]
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x60c]
push eax
push ecx
call fcn.004865f0
add esp, 4
push eax
push 0x519c
call fcn.004865f0
add esp, 4
push eax
lea edx, [ebx + edi]
push 0x5a4d38
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412766.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.43
mov eax, dword [ebp - 0x608]
cmp dword [eax + 0x4c], 0
je case.0x412766.43
cmp byte [ebx], 0
je 0x4137f2
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4137e0
mov cx, word [0x5a47f0]
mov word [edi], cx
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4137f5
mov dx, word [0x5a47f0]
mov eax, ebx
mov word [edi], dx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413810
sub eax, edx
push esi
push 0x5ddb
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x4c5f12
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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.0x412766.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.43
mov ecx, dword [ebp - 0x608]
cmp dword [ecx + 0x4c], 0
je case.0x412766.43
cmp byte [ebx], 0
je 0x413895
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413883
mov dx, word [0x5a47f0]
mov word [edi], dx
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413898
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4138b0
sub eax, edx
push esi
push 0x5ddd
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
add esp, 4
push eax
lea ecx, [ebx + edi]
push 0x5a4d38
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp case.0x412766.43
mov esi, dword [ebp - 0x60c]
test esi, esi
je case.0x412766.43
mov edx, dword [ebp - 0x608]
cmp dword [edx + 0x4c], 0
je case.0x412766.43
cmp byte [ebx], 0
je 0x413926
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413915
mov ax, word [0x5a47f0]
mov word [edi], ax
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413930
mov cx, word [0x5a47f0]
mov eax, ebx
mov word [edi], cx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413947
sub eax, edx
push esi
push 0x5ddb
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x4c5f08
call fcn.004865f0
add esp, 4
push eax
push 0x5e23
call fcn.004865f0
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.0x412766.43
test ecx, ecx
jne 0x413c8b
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4139a1
sub eax, edx
push 0x4e34
mov esi, eax
call fcn.004865f0
add esp, 4
push eax
push 0x5e01
call fcn.004865f0
add esp, 4
push eax
lea eax, [ebx + esi]
push 0x5a4d60
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 0x413ae2
mov edx, ecx
test dword [edx + 0xd8], 0x20000000
je 0x413aa7
mov ecx, dword [ebp - 0x620]
mov cl, byte [ecx + 0x41d]
cmp cl, 3
je 0x413a1a
cmp cl, 2
jne 0x413aa7
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.0040f5f0
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 0x413aba
mov esi, ebx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x413a71
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 0x5a4cf4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x413aba
push 0
push 1
push ebx
push 0x5e20
push eax
call fcn.0040f5f0
add esp, 0x14
mov ecx, dword [ebp - 0x608]
test dword [ecx + 0xd8], 0x30000000
jne 0x413ae2
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413ad0
mov dx, word [0x5a4bd8]
mov word [edi], dx
mov esi, dword [ebp - 0x608]
test dword [esi + 0xd8], 0x10000000
jne 0x413b25
mov eax, dword [esi + 0x9a]
test eax, eax
je 0x413b25
push 0
push 1
push ebx
push 0x5e89
push eax
call fcn.0040f5f0
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413b14
mov ax, word [0x5a4bd8]
mov word [edi], ax
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x413ba3
cmp byte [ebx], 0
je 0x413b46
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413b34
mov dx, word [0x5a47f0]
mov word [edi], dx
push 1
push 0x3e8
push ecx
call fcn.00441780
add esp, 0xc
push 0
lea eax, [ebp - 0x404]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004417e0
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413b72
lea ecx, [ebp - 0x404]
push ecx
sub eax, edx
push 0x5e8c
mov esi, eax
call fcn.004865f0
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 0x413ba9
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
cmp dword [ebp - 0x618], 0x13
jne 0x413c8b
cmp byte [ebx], 0
je 0x413bd1
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413bc0
mov ax, word [0x5a47f0]
mov word [edi], ax
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x413bd4
mov cx, word [0x5a4c3c]
mov word [eax], cx
mov dl, byte [0x5a4c3e]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x620]
movzx edx, word [eax + 0xf66]
mov eax, ebx
test dx, dx
jne 0x413c27
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413c06
sub eax, edx
push 0x5ec1
mov edi, eax
call fcn.004865f0
push eax
push str._s:____
lea ecx, [ebx + edi]
push ecx
jmp 0x413c62
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413c30
sub eax, edi
push edx
mov edi, eax
call fcn.0048b2b0
push eax
call fcn.004865f0
add esp, 8
push eax
push 0x5ec1
call fcn.004865f0
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 0x413c70
mov cx, word [0x5a4c7c]
mov word [eax], cx
mov dl, byte [0x5a4c7e]
mov byte [eax + 2], dl
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x618]
push 0
push eax
push ecx
call fcn.00489870
add esp, 0xc
test eax, eax
je 0x413cef
cmp eax, 1
jle 0x413cef
cmp byte [ebx], 0
je 0x413cc3
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413cb1
mov dx, word [0x5a47f0]
mov word [edi], dx
mov ecx, ebx
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x413cc8
push eax
sub ecx, esi
push 0x5e88
mov esi, ecx
call fcn.004865f0
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 0x41418c
mov ecx, dword [ebp - 0x608]
mov edx, dword [ecx + 0x92]
test edx, edx
je 0x413d57
cmp byte [ebx], 0
je 0x413d25
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413d14
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413d30
push edx
sub eax, esi
push 0x5e1f
mov esi, eax
call fcn.004865f0
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 0x413fe6
cmp byte [ebx], 0
je 0x413d82
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413d70
mov dx, word [0x5a47f0]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413d87
sub eax, edx
push 0x5e13
mov esi, eax
call fcn.004865f0
push eax
lea eax, [ebx + esi]
push 0x5a4c1c
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.0x413dc1.3
jmp dword [eax*4 + 0x414b8c]
push 0x5e14
call fcn.004865f0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413dd7
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413de3
jmp 0x413fd8
push 0x5e15
call fcn.004865f0
add esp, 4
mov esi, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413e00
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413e10
jmp 0x413fd8
test dword [ecx + 0xd8], 0x40000000
je 0x413e5d
test dword [ecx + 0xdc], 0x8000
je 0x413e5d
push 0x5f37
call fcn.004865f0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413e44
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413e50
jmp 0x413fd8
push 0x5e16
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413e70
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413e80
jmp 0x413fd8
push 0x5e53
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ea0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413eb0
jmp 0x413fd8
push 0x5e81
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ed0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413ee0
jmp 0x413fd8
push 0x5368
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413f00
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413f10
jmp 0x413fd8
push 0x5369
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413f30
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413f40
jmp 0x413fd8
push 0x537c
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413f60
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413f70
jmp 0x413fd8
push 0x4c4ba2
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413f90
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413fa0
jmp 0x413fd8
push 0x5e17
call fcn.004865f0
add esp, 4
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413fc0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413fd0
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 0x414002
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x413ff0
mov cx, word [0x5a47f0]
mov word [edi], cx
mov edi, dword [ebp - 0x620]
movzx eax, word [edi + 0x4f1]
movsx edx, word [edi + 0x4fd]
movsx ecx, word [edi + 0x4fb]
push 0
add edx, eax
push edx
movzx edx, word [edi + 0x4ef]
add ecx, edx
mov edx, dword [ebp - 0x618]
push ecx
mov ecx, dword [ebp + 0x18]
lea eax, [edi + 0x18af]
push eax
push ecx
push edx
mov dword [ebp - 0x610], 0
call fcn.00489a00
add esp, 0x18
cmp dword [ebp - 0x624], 2
mov esi, eax
je 0x4140e1
mov eax, dword [ebp - 0x618]
push eax
call fcn.00480000
add esp, 4
test eax, eax
jne 0x4140e1
cmp dword [edi + 0x3f5], esi
jae 0x4140a6
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414081
mov cx, word [0x5a4c80]
mov word [eax], cx
mov dl, byte [0x5a4c82]
mov byte [eax + 2], dl
mov dword [ebp - 0x610], 1
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4140b0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4140b0
sub eax, edx
push esi
push 0x5e18
mov edi, eax
call fcn.004865f0
add esp, 4
push eax
lea eax, [ebx + edi]
push 0x5a4d80
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x414165
movzx ecx, word [edi + 0x40f]
cmp ecx, esi
jge 0x414115
lea eax, [ebx - 1]
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4140f0
mov dx, word [0x5a4c80]
mov word [eax], dx
mov cl, byte [0x5a4c82]
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 0x414120
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.004865f0
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 0x41418c
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414171
mov cx, word [0x5a4c7c]
mov word [eax], cx
mov dl, byte [0x5a4c7e]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x608]
mov eax, dword [eax + 0x70]
test eax, eax
je 0x414448
push eax
call fcn.00483b40
add esp, 4
mov dword [ebp - 0x614], eax
test eax, eax
je case.0x412766.43
cmp byte [ebx], 0
je 0x4141d2
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4141c0
mov cx, word [0x5a47f0]
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.00483b80
mov edx, dword [ebp - 0x620]
movzx edx, word [edx + 0x41b]
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 0x414208
sub eax, edi
mov edi, eax
lea eax, [ebp - 0x404]
push eax
push edx
push 0x5e1b
call fcn.004865f0
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 0x414240
mov dx, word [0x5a47f0]
mov eax, dword [ebp - 0x608]
mov word [edi], dx
mov esi, dword [eax + 0x74]
test esi, esi
jne 0x414264
mov esi, 0x1c20
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414270
sub eax, edx
push 0x53ce
mov edi, eax
call fcn.004865f0
push eax
lea ecx, [ebx + edi]
push 0x5a4c1c
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 0x4142a0
sub eax, edx
lea edx, [ebx + eax]
push edx
push 0x5e75
push esi
call fcn.004413e0
add esp, 0xc
cmp dword [ebp + 0x20], 1
je 0x41432b
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4142c4
mov ax, word [0x5a47f0]
mov ecx, dword [ebp - 0x608]
mov word [edi], ax
movzx edx, word [ecx + 0x78]
test edx, edx
jne 0x4142e8
mov edx, 0x13bf
mov eax, ebx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4142f0
sub eax, edi
push edx
mov edi, eax
call fcn.00487be0
push eax
call fcn.004865f0
add esp, 8
push eax
push 0x53cf
call fcn.004865f0
add esp, 4
push eax
lea edx, [ebx + edi]
push 0x5a4c44
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 0x414330
mov ax, word [0x5a47f0]
push 0x5e1c
mov word [edi], ax
call fcn.004865f0
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414350
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x414360
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 + 0x161b]
movsx edx, word [eax + 0x501]
movzx ecx, word [eax + 0x424]
movzx eax, word [eax + 0x4f5]
sub edx, ecx
add edx, eax
mov eax, ebx
cmp edx, esi
lea edx, [eax + 1]
jl 0x4143c5
jmp 0x4143b0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4143b0
push esi
sub eax, edx
push 0x5a4658
lea ecx, [ebx + eax]
push ecx
jmp 0x4143d8
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4143c5
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 + 0x1621]
add esp, 0xc
cmp edx, 1
jle case.0x412766.43
cmp byte [ebx], 0
je 0x414412
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414400
mov cx, word [0x5a47f0]
mov word [edi], cx
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414417
push edx
sub eax, esi
push 0x5f38
mov esi, eax
call fcn.004865f0
add esp, 4
push eax
lea edx, [ebx + esi]
push 0x5a4d80
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.0x412766.43
mov edi, dword [ebp - 0x620]
lea eax, [edi + 0x32c]
push eax
call fcn.0047a3b0
mov ecx, dword [ebp - 0x608]
add esp, 4
cmp dword [ecx + 0x40], 0
mov esi, eax
je 0x414616
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.00489790
movsx eax, word [edi + 0x4f9]
movzx ecx, word [edi + 0x4ed]
add eax, ecx
sub eax, esi
cdq
sub eax, edx
add esp, 0x18
sar eax, 1
mov dword [ebp - 0x61c], eax
jns 0x4144bd
mov dword [ebp - 0x61c], 0
mov eax, dword [ebp - 0x608]
test dword [eax + 0xd8], 0x80000000
je 0x414603
cmp dword [ebp - 0x618], 0x1c1
je 0x414603
cmp byte [ebx], 0
je 0x414502
lea edi, [ebx - 1]
jmp 0x4144f0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4144f0
mov dx, word [0x5a47f0]
mov word [edi], dx
mov edi, dword [ebp - 0x628]
mov eax, ebx
lea edx, [eax + 1]
cmp dword [ebp - 0x62c], edi
je 0x414550
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414515
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x62c]
push edi
push eax
push 0x5ddb
call fcn.004865f0
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 0x41457c
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414550
sub eax, edx
push edi
push 0x5ddb
mov esi, eax
call fcn.004865f0
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 0x4145c3
lea eax, [edi + 0x4c5f08]
push eax
call fcn.004865f0
movzx ecx, word [esi]
push eax
push ecx
lea edx, [ebp - 0x604]
push edx
mov eax, edx
push 0x5a4ccc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
inc edi
add esi, 2
cmp edi, 8
jle 0x414594
mov esi, dword [ebp - 0x61c]
test esi, esi
je 0x414603
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4145e0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4145e0
lea ecx, [ebp - 0x604]
push ecx
sub eax, edx
push esi
lea edx, [ebx + eax]
push 0x5a4cc4
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 0x41466a
movsx eax, word [edi + 0x4f9]
movzx edx, word [edi + 0x4ed]
add eax, edx
sub eax, esi
jns 0x41462c
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.00489810
mov eax, dword [ebp - 0x608]
mov esi, dword [ebp - 0x61c]
add esp, 0x14
test dword [eax + 0xd8], 0x20000000
je 0x414670
movzx ecx, word [edi + 0xf68]
add esi, ecx
mov dword [ebp - 0x61c], esi
mov eax, dword [ebp - 0x608]
cmp byte [eax + 0xb6], 0
je 0x414747
cmp dword [eax + 0xb8], 0
je 0x414747
cmp byte [ebx], 0
je 0x4146aa
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414698
mov dx, word [0x5a47f0]
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.004413e0
add esp, 0xc
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4146d6
mov dx, word [0x5a4c3c]
mov word [eax], dx
mov cl, byte [0x5a4c3e]
mov byte [eax + 2], cl
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4146f6
sub eax, edx
lea edx, [ebp - 0x204]
push edx
push 0x5395
mov edi, eax
call fcn.004865f0
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 0x414726
mov cx, word [0x5a4cc0]
mov esi, dword [ebp - 0x61c]
mov word [eax], cx
mov dl, byte [0x5a4cc2]
mov byte [eax + 2], dl
cmp dword [ebp - 0x618], 0x1c1
jne 0x4147b4
cmp esi, 0x64
jle 0x414763
mov esi, 0x64
mov dword [ebp - 0x61c], esi
cmp byte [ebx], 0
je 0x414781
lea edi, [ebx - 1]
jmp 0x414770
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414770
mov ax, word [0x5a47f0]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414786
sub eax, edx
push esi
push 0x5df7
mov edi, eax
call fcn.004865f0
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 0x4147d1
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.0040f9b0
add esp, 0x18
mov eax, dword [ebp - 0x608]
cmp dword [eax + 0x7e], 0
je 0x41491a
cmp byte [ebx], 0
je 0x414802
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4147f0
mov cx, word [0x5a47f0]
mov word [edi], cx
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414805
mov dx, word [0x5a4c40]
mov word [eax], dx
mov cl, byte [0x5a4c42]
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 0x4148e8
cmp ecx, 0x1bf
je 0x4148e8
cmp ecx, 0x298
jne 0x4148c3
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 0x414894
push edi
sub eax, ecx
push esi
push 0x4e41
mov dword [ebp - 0x624], eax
call fcn.004865f0
mov edx, dword [ebp - 0x624]
add esp, 4
push eax
push str._s__d._02d
add edx, ebx
push edx
jmp 0x414911
mov edi, ebx
lea edx, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x4148c8
push eax
push esi
push 0x4e41
sub edi, edx
call fcn.004865f0
add esp, 4
push eax
push str._s__d._02d
jmp 0x41490e
mov edi, ebx
lea edx, [edi + 1]
lea ecx, [ecx]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x4148f0
push eax
push esi
push 0x4e41
sub edi, edx
call fcn.004865f0
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 0x41498d
cmp byte [ebx], 0
je 0x414945
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414933
mov cx, word [0x5a47f0]
mov word [edi], cx
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414948
mov cx, word [0x5a4c40]
mov word [eax], cx
mov cl, byte [0x5a4c42]
mov byte [eax + 2], cl
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414968
push edx
sub eax, esi
push 0x5f55
lea esi, [ebx + eax]
call fcn.004865f0
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 0x414a09
cmp byte [ebx], 0
je 0x4149c1
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4149b0
mov ax, word [0x5a47f0]
mov word [edi], ax
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4149c4
mov cx, word [0x5a4c40]
mov word [eax], cx
mov cl, byte [0x5a4c42]
mov byte [eax + 2], cl
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4149e4
push edx
sub eax, esi
push 0x5f56
lea esi, [ebx + eax]
call fcn.004865f0
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.0x412766.43
cmp byte [ebx], 0
je 0x414a37
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414a26
mov ax, word [0x5a47f0]
mov word [edi], ax
lea eax, [ebx - 1]
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x414a40
mov cx, word [0x5a4c40]
mov word [eax], cx
mov cl, byte [0x5a4c42]
mov byte [eax + 2], cl
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414a60
push edx
sub eax, esi
push 0x5f5a
lea esi, [ebx + eax]
call fcn.004865f0
add esp, 4
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.0x412766.43
mov byte [0x6952c0], 0
mov dword [0x695304], 0
test byte [ebp + 0x20], 1
jne 0x414ab3
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.004110d0
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005517d0
mov esp, ebp
pop ebp
ret