Function at 0xd2a2dc0
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xfc
mov eax, dword [0xd2b0418]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
movsx ecx, word [ebp + 8]
lea eax, [ebp - 0xdc]
xor ebx, ebx
mov dword [ebp - 0xe0], eax
lea eax, [ecx + 0x1c]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xfc], eax
cmp eax, 0x79
ja case.0xd2a2e1d.3
movzx eax, byte [eax + 0xd2a3b58]
jmp dword [eax*4 + 0xd2a3b10]
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0xc]
push 0
push 0
dec ecx
push ecx
push edi
shr ebx, 1
push ebx
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [ebp + 0xc], 0
jle 0xd2a2e49
test eax, eax
je 0xd2a2e76
mov ecx, dword [ebp + 0x18]
cmp eax, ecx
jge 0xd2a2e79
mov ecx, dword [ebp - 0xe8]
mov byte [edi + eax], 0
mov dword [ecx], eax
mov ax, word [ebp - 0xe4]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0xe4], 0x6e
test ecx, ecx
jle 0xd2a2e8c
mov byte [edi + ecx - 1], 0
push 0
push 0
push 0
push edi
push ebx
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edx, dword [ebp - 0xe8]
mov dword [edx], eax
jmp 0xd2a2e5c
lea eax, [ecx + 0x1a]
cmp eax, 0x1f
ja case.0xd2a2eb8.25
movzx edx, byte [eax + 0xd2a3be4]
jmp dword [edx*4 + 0xd2a3bd4]
movsx eax, byte [esi]
jmp 0xd2a2ed3
movsx eax, word [esi]
jmp 0xd2a2ed3
mov eax, dword [esi]
jmp 0xd2a2ed3
mov eax, dword [ebp - 0xec]
push 0xa
lea ecx, [ebp - 0xdc]
push ecx
push eax
call dword [sym.imp.msvcrt.dll__ltoa]
lea ebx, [ebp - 0xdc]
add esp, 0xc
lea ecx, [ebx + 1]
nop
mov al, byte [ebx]
inc ebx
test al, al
jne 0xd2a2ef0
sub ebx, ecx
jmp 0xd2a34f3
cmp ecx, 0xffffffe4
je 0xd2a2f16
cmp ecx, 0xffffffee
je 0xd2a2f12
cmp ecx, 0xffffffef
jne 0xd2a2f1b
movzx eax, word [esi]
jmp 0xd2a2f21
mov eax, dword [esi]
jmp 0xd2a2f21
movzx eax, byte [esi]
jmp 0xd2a2f21
mov eax, dword [ebp - 0xec]
push 0xa
lea edx, [ebp - 0xdc]
push edx
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
lea ebx, [ebp - 0xdc]
add esp, 0xc
lea ecx, [ebx + 1]
lea ecx, [ecx]
mov al, byte [ebx]
inc ebx
test al, al
jne 0xd2a2f40
sub ebx, ecx
jmp 0xd2a34f3
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea edi, [ebp - 0xdc]
lea esp, [esp]
push 0
push 0xa
push ecx
push eax
call fcn.0d2a6e80
mov dword [ebp - 0xf4], ebx
mov ebx, eax
mov dword [ebp - 8], edx
movzx eax, cx
mov ecx, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
add al, 0x30
mov byte [edi], al
mov eax, ebx
mov edx, eax
inc edi
or edx, ecx
jne 0xd2a2f60
lea eax, [ebp - 0xdc]
push eax
mov byte [edi], dl
call dword [sym.imp.msvcrt.dll__mbsrev]
lea eax, [ebp - 0xdc]
add esp, 4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0xd2a2fb0
sub eax, edx
movsx ebx, ax
jmp 0xd2a34f3
push 0
push 0
lea ecx, [ebp - 0xdc]
push ecx
mov ecx, esi
call fcn.0d2a13e0
movsx ebx, ax
jmp 0xd2a34f3
movzx edx, word [esi + 6]
movzx eax, word [esi + 4]
mov ecx, dword [esi]
push edx
push eax
push ecx
push 0xd273ba0
lea edx, [ebp - 0xdc]
push 0xc8
push edx
call sub.msvcrt.dll_sprintf_s
mov ecx, 8
add esp, 0x18
mov ebx, 0x13
add esi, ecx
mov dl, 0x2d
nop
mov al, byte [esi]
shr al, 4
cmp al, 9
movzx eax, al
jbe 0xd2a3021
add eax, 0x37
jmp 0xd2a3024
add eax, 0x30
mov byte [ebp + ebx - 0xdc], al
mov al, byte [esi]
and al, 0xf
inc ebx
cmp al, 9
movzx eax, al
jbe 0xd2a303c
add eax, 0x37
jmp 0xd2a303f
add eax, 0x30
mov byte [ebp + ebx - 0xdc], al
inc ebx
inc esi
cmp ecx, 9
jne 0xd2a3055
mov byte [ebp + ebx - 0xdc], dl
inc ebx
inc ecx
cmp ecx, 0x10
jl 0xd2a3010
mov byte [ebp + ebx - 0xdc], 0
jmp 0xd2a34f3
mov edi, 4
cmp dword [ebp + 0xc], edi
jne 0xd2a3087
movzx ecx, word [esi + 2]
movzx eax, word [esi]
imul ecx, ecx, 0x4650
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
jmp 0xd2a3092
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
cmp word [ebp + 0x14], 0x62
je 0xd2a30ca
push 0xc8
lea ecx, [ebp - 0xdc]
push ecx
push 1
lea edx, [ebp - 0xc]
push edx
mov ebx, 0x13
call fcn.0d2a1270
cmp dword [ebp + 0xc], edi
jne 0xd2a34f3
mov byte [ebp - 0xc9], 0
jmp 0xd2a34f3
push 0x64
lea eax, [ebp - 0x78]
push eax
push 0
lea ecx, [ebp - 0xc]
push ecx
call fcn.0d2a1270
lea esi, [ebp - 0x78]
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov dword [ebp - 0xe], eax
mov dword [ebp - 0x14], edx
mov eax, 0x431bde83
mul dword [esi + 0xc]
shr edx, 0x12
push 0xc8
mov word [ebp - 6], dx
lea edx, [ebp - 0xdc]
push edx
push 0
lea eax, [ebp - 0x14]
push eax
push 0
push 0x400
mov dword [ebp - 0xa], ecx
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
mov edi, dword [ebp - 0xe8]
push 0xc8
mov dword [edi], eax
lea eax, [ebp + eax - 0xdc]
push eax
push 0
lea ecx, [ebp - 0x14]
push ecx
push 0
push 0x400
mov byte [eax - 1], 0x20
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
add dword [edi], eax
lea edx, [ebp - 0xdc]
mov dword [ebp - 0xe0], edx
jmp 0xd2a34f3
mov ax, word [ebp + 0x14]
cmp ax, 0x62
je 0xd2a30de
dec ax
cwde
neg eax
sbb eax, eax
push 0x64
lea edx, [ebp - 0x78]
and eax, 0xd
push edx
add eax, 0xb4aa
push eax
call fcn.0d28d380
push eax
call fcn.0d2a0330
test eax, eax
je 0xd2a3248
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x78]
mov ebx, 0x13
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0xd2a31a1
sub ecx, edi
lea ecx, [ebp + ecx - 0x79]
mov edi, edi
mov dl, byte [ecx]
cmp dl, 0x30
jb 0xd2a31bc
cmp dl, 0x39
jbe 0xd2a31bf
dec ecx
jmp 0xd2a31b0
movzx ecx, byte [ecx]
add ecx, ecx
add ecx, ecx
mov edx, 0xd2b044c
sub edx, ecx
mov ecx, dword [edx]
xor edx, edx
div ecx
test edx, edx
je 0xd2a31e1
mov dword [ebp - 0xe4], 0xd
movzx ecx, word [esi + 8]
movzx edx, word [esi + 6]
push eax
movzx eax, word [esi + 0xa]
push eax
movzx eax, word [esi + 4]
push ecx
movzx ecx, word [esi + 2]
push edx
movsx edx, word [esi]
push eax
push ecx
push edx
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0xdc]
push 0xc8
push ecx
call sub.msvcrt.dll_sprintf_s
add esp, 0x28
jmp 0xd2a34f3
mov ax, word [ebp + 0x14]
cmp ax, 1
je 0xd2a3260
cmp ax, 0xfff8
je 0xd2a3260
lea edi, [ebp - 0x78]
push 0x64
mov eax, edi
push eax
push 0xb4b5
call fcn.0d28d380
push eax
call fcn.0d2a0330
test eax, eax
jne 0xd2a3266
pop edi
pop esi
mov eax, 0xd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
mov edi, dword [0xd2b0398]
movzx ecx, word [esi + 4]
movzx edx, word [esi + 2]
movsx eax, word [esi]
push ecx
push edx
push eax
push edi
lea ecx, [ebp - 0xdc]
push 0xc8
push ecx
mov ebx, 0xa
call sub.msvcrt.dll_sprintf_s
add esp, 0x18
jmp 0xd2a34f3
mov ax, word [ebp + 0x14]
cmp ax, 1
je 0xd2a32d7
cmp ax, 0xfff8
je 0xd2a32d7
lea edi, [ebp - 0x78]
push 0x64
mov edx, edi
push edx
push 0xb4b6
call fcn.0d28d380
push eax
call fcn.0d2a0330
test eax, eax
jne 0xd2a32dd
pop edi
pop esi
mov eax, 0xd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
mov edi, dword [0xd2b039c]
movzx eax, word [esi + 4]
movzx ecx, word [esi + 2]
movzx edx, word [esi]
push eax
push ecx
push edx
push edi
lea eax, [ebp - 0xdc]
push 0xc8
push eax
mov ebx, 8
call sub.msvcrt.dll_sprintf_s
add esp, 0x18
jmp 0xd2a34f3
mov eax, dword [esi]
mov edi, 4
cmp dword [ebp + 0xc], edi
jne 0xd2a3326
xor ecx, ecx
test eax, eax
setge cl
mov dword [ebp - 0xc], eax
dec ecx
mov dword [ebp - 8], ecx
jmp 0xd2a332f
mov edx, dword [esi + 4]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
push 0
push edi
lea ecx, [ebp - 0xdc]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0d2a13e0
movzx eax, ax
movsx ebx, ax
add ebx, 0xfffffffb
mov byte [ebp + ebx - 0xd7], 0
jne 0xd2a3355
inc ebx
lea eax, [ebp - 0xdc]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0xd2a3360
sub eax, edx
cmp eax, dword [ebp + 0x18]
jb 0xd2a34f3
mov edi, dword [ebp + 0x18]
lea edx, [ebp - 0xdc]
call fcn.0d2a1770
mov dword [ebp - 0xe0], eax
jmp 0xd2a34f3
push 0xc8
lea edx, [ebp - 0xdc]
push edx
mov edi, esi
call fcn.0d2a2c80
test eax, eax
jne 0xd2a33ba
pop edi
pop esi
mov eax, 0x82
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
lea eax, [ebp - 0xdc]
push 0x2e
push eax
call dword [sym.imp.msvcrt.dll_strchr]
add esp, 8
test eax, eax
je 0xd2a3404
lea ecx, [ebp - 0xdc]
push 0x2e
push ecx
call dword [sym.imp.msvcrt.dll_strchr]
mov ebx, eax
lea edx, [ebp - 0xdc]
add esp, 8
sub ebx, edx
jne 0xd2a33ef
inc ebx
lea eax, [ebp - 0xdc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0xd2a33f8
jmp 0xd2a3367
lea ebx, [ebp - 0xdc]
lea ecx, [ebx + 1]
lea ecx, [ecx]
mov al, byte [ebx]
inc ebx
test al, al
jne 0xd2a3410
sub ebx, ecx
jmp 0xd2a34f3
sub ecx, 7
je 0xd2a342f
sub ecx, 1
jne 0xd2a349c
fld qword [esi]
lea eax, [ecx + 0xf]
jmp 0xd2a34a8
fld dword [esi]
fstp dword [ebp - 0xf4]
fld dword [ebp - 0xf4]
fld st(0)
fldz
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0xd2a345c
fxch st(1)
fchs
fstp dword [ebp - 0xf4]
fld dword [ebp - 0xf4]
fxch st(1)
cmp word [ebp + 0x14], 1
je 0xd2a3493
fld st(1)
fcomp qword [0xd273b98]
fnstsw ax
test ah, 0x44
jnp 0xd2a348a
fld dword [0xd273b90]
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0xd2a3495
mov eax, 9
jmp 0xd2a34a8
fstp st(1)
mov eax, 9
jmp 0xd2a34a8
fstp st(1)
mov eax, 7
jmp 0xd2a34a8
fld qword [ebp - 0xf0]
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp + 0x18]
push edi
push eax
sub esp, 8
lea ecx, [ebp - 8]
fstp qword [esp]
lea edx, [ebp - 0xdc]
call fcn.0d2a14b0
test eax, eax
jne 0xd2a33a2
lea eax, [ebp - 0xdc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0xd2a34d2
sub eax, edx
cmp eax, edi
jb 0xd2a34f0
lea edx, [ebp - 0xdc]
call fcn.0d2a1770
mov dword [ebp - 0xe0], eax
mov ebx, dword [ebp - 8]
cmp word [ebp + 8], 1
je 0xd2a3a64
lea eax, [ebp - 0xdc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0xd2a3507
mov edi, dword [ebp - 0xe8]
sub eax, edx
mov dword [edi], eax
jne 0xd2a3520
mov dword [edi], 1
cmp word [ebp + 0x14], 0x62
jne case.0xd2a3541.4
mov eax, dword [ebp - 0xfc]
cmp eax, 0x24
ja case.0xd2a3541.4
movzx eax, byte [eax + 0xd2a3c14]
jmp dword [eax*4 + 0xd2a3c04]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe0], esi
mov dword [edx], eax
jmp 0xd2a34f3
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
add ecx, ecx
dec eax
cmp ecx, eax
mov dword [edx], ecx
jle 0xd2a3591
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
test eax, eax
setl bl
push ecx
dec ebx
and ebx, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call fcn.0d2a1b90
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0xffffff80
add ecx, 0xee
jmp 0xd2a3599
mov ebx, ecx
mov ecx, dword [ebp - 0xe4]
cmp ebx, 1
jle 0xd2a35d7
lea edx, [ebx - 2]
shr edx, 1
inc edx
mov al, byte [esi]
shr al, 4
cmp al, 9
movzx eax, al
jbe 0xd2a35b5
add eax, 0x37
jmp 0xd2a35b8
add eax, 0x30
mov byte [edi], al
mov al, byte [esi]
and al, 0xf
inc edi
cmp al, 9
movzx eax, al
jbe 0xd2a35cb
add eax, 0x37
jmp 0xd2a35ce
add eax, 0x30
mov byte [edi], al
inc edi
inc esi
sub edx, 1
jne 0xd2a35a4
cmp dword [ebp + 0x18], 0
je 0xd2a3ae2
mov byte [edi], 0
pop edi
pop esi
mov ax, cx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
movzx eax, word [esi + 0x1e]
cmp ax, 9
jle 0xd2a361c
pop edi
pop esi
mov eax, 0x84
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
movsx edx, ax
mov eax, dword [esi + 0x18]
add edx, edx
add edx, edx
mov edi, 0xd2b038c
sub edi, edx
xor edx, edx
div dword [edi]
test edx, edx
je case.0xd2a2e1d.13
mov dword [ebp - 0xe4], 0xd
mov ax, word [ebp + 0x14]
cmp ax, 1
je 0xd2a3685
cmp ax, 0xfff8
je 0xd2a3685
lea ebx, [ebp - 0x78]
push 0x64
mov eax, ebx
push eax
add ecx, 0xb597
push ecx
call fcn.0d28d380
push eax
call fcn.0d2a0330
test eax, eax
jne 0xd2a368c
pop edi
pop esi
mov eax, 0xd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [ecx*4 + 0xd2b0370]
movzx eax, word [esi + 0x1e]
test ax, ax
jle 0xd2a36c5
mov ecx, dword [esi + 0x18]
push ecx
push 0xd273b88
lea edx, [ebp - 0x10]
push 0xb
push edx
call sub.msvcrt.dll_sprintf_s
movzx eax, word [esi + 0x1e]
movsx ecx, ax
inc ecx
add esp, 0x10
cmp ecx, 0xa
jb 0xd2a36be
mov ecx, 0xa
mov byte [ebp + ecx - 0x10], 0
jmp 0xd2a36c9
mov byte [ebp - 0x10], 0
movsx ecx, word [ebp + 8]
mov edi, dword [esi + 8]
add ecx, 0xfffffff3
cmp ecx, 0xc
ja case.default.0xd2a36dc
jmp dword [ecx*4 + 0xd2a3c3c]
movsx eax, word [esi + 0x1c]
xor ecx, ecx
cmp word [esi + 4], 1
push eax
sete cl
push edi
lea edx, [ebp - 0xdc]
lea ecx, [ecx + ecx + 0x2b]
push ecx
push ebx
push 0xc8
push edx
call sub.msvcrt.dll_sprintf_s
add esp, 0x18
jmp case.default.0xd2a36dc
movsx eax, word [esi + 0x1c]
mov ecx, dword [esi + 0xc]
xor edx, edx
cmp word [esi + 4], 1
push eax
sete dl
push ecx
lea eax, [ebp - 0xdc]
lea edx, [edx + edx + 0x2b]
push edx
push ebx
push 0xc8
push eax
call sub.msvcrt.dll_sprintf_s
mov edi, dword [esi + 0xc]
add esp, 0x18
jmp case.default.0xd2a36dc
movsx ecx, word [esi + 0x1c]
xor edx, edx
cmp word [esi + 4], 1
push ecx
sete dl
push edi
lea eax, [ebp - 0xdc]
lea edx, [edx + edx + 0x2b]
push edx
push ebx
push 0xc8
push eax
call sub.msvcrt.dll_sprintf_s
add esp, 0x18
jmp case.default.0xd2a36dc
movsx ecx, word [esi + 0x1c]
mov edx, dword [esi + 0xc]
xor eax, eax
cmp word [esi + 4], 1
push ecx
sete al
push edx
lea ecx, [ebp - 0xdc]
lea eax, [eax + eax + 0x2b]
push eax
push ebx
push 0xc8
push ecx
call sub.msvcrt.dll_sprintf_s
mov edi, dword [esi + 0xc]
add esp, 0x18
jmp case.default.0xd2a36dc
movsx edx, word [esi + 0x1c]
mov eax, dword [esi + 0x10]
xor ecx, ecx
cmp word [esi + 4], 1
push edx
sete cl
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ecx + ecx + 0x2b]
push ecx
push ebx
push 0xc8
push edx
call sub.msvcrt.dll_sprintf_s
add esp, 0x18
jmp 0xd2a39ac
movsx ecx, word [esi + 0x1c]
cwde
push eax
mov eax, dword [esi + 0x14]
push ecx
xor ecx, ecx
cmp word [esi + 4], 1
lea edx, [ebp - 0x10]
sete cl
push edx
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ecx + ecx + 0x2b]
push ecx
push ebx
push 0xc8
push edx
call sub.msvcrt.dll_sprintf_s
mov edi, dword [esi + 0x14]
add esp, 0x20
jmp case.default.0xd2a36dc
movsx eax, word [esi + 0x1c]
mov ecx, dword [esi + 0xc]
xor edx, edx
cmp word [esi + 4], 1
push eax
sete dl
push ecx
push edi
lea eax, [ebp - 0xdc]
lea edx, [edx + edx + 0x2b]
push edx
push ebx
push 0xc8
push eax
call sub.msvcrt.dll_sprintf_s
add esp, 0x1c
jmp case.default.0xd2a36dc
movsx ecx, word [esi + 0x1c]
mov edx, dword [esi + 0xc]
xor eax, eax
cmp word [esi + 4], 1
push ecx
sete al
push edx
push edi
lea ecx, [ebp - 0xdc]
lea eax, [eax + eax + 0x2b]
push eax
push ebx
push 0xc8
push ecx
call sub.msvcrt.dll_sprintf_s
add esp, 0x1c
jmp case.default.0xd2a36dc
movsx edx, word [esi + 0x1c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push edx
xor edx, edx
cmp word [esi + 4], 1
push eax
sete dl
push ecx
push edi
lea eax, [ebp - 0xdc]
lea edx, [edx + edx + 0x2b]
push edx
push ebx
push 0xc8
push eax
call sub.msvcrt.dll_sprintf_s
add esp, 0x20
jmp case.default.0xd2a36dc
movsx edx, word [esi + 0x1c]
movsx ecx, ax
push ecx
mov ecx, dword [esi + 0x14]
push edx
mov edx, dword [esi + 0x10]
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esi + 0xc]
push ecx
xor ecx, ecx
cmp word [esi + 4], 1
push edx
sete cl
push eax
push edi
lea edx, [ebp - 0xdc]
lea ecx, [ecx + ecx + 0x2b]
push ecx
push ebx
push 0xc8
push edx
call sub.msvcrt.dll_sprintf_s
add esp, 0x2c
jmp case.default.0xd2a36dc
movsx eax, word [esi + 0x1c]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
push eax
xor eax, eax
cmp word [esi + 4], 1
push ecx
sete al
push edx
lea ecx, [ebp - 0xdc]
lea eax, [eax + eax + 0x2b]
push eax
push ebx
push 0xc8
push ecx
call sub.msvcrt.dll_sprintf_s
mov edi, dword [esi + 0xc]
add esp, 0x1c
jmp case.default.0xd2a36dc
movsx edx, ax
movsx eax, word [esi + 0x1c]
push edx
mov edx, dword [esi + 0x14]
push eax
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [esi + 0xc]
push edx
xor edx, edx
cmp word [esi + 4], 1
push eax
sete dl
push ecx
lea eax, [ebp - 0xdc]
lea edx, [edx + edx + 0x2b]
push edx
push ebx
push 0xc8
push eax
call sub.msvcrt.dll_sprintf_s
mov edi, dword [esi + 0xc]
add esp, 0x28
jmp case.default.0xd2a36dc
movsx edx, word [esi + 0x1c]
movsx ecx, ax
push ecx
mov ecx, dword [esi + 0x14]
push edx
mov edx, dword [esi + 0x10]
lea eax, [ebp - 0x10]
push eax
xor eax, eax
cmp word [esi + 4], 1
push ecx
sete al
push edx
lea ecx, [ebp - 0xdc]
lea eax, [eax + eax + 0x2b]
push eax
push ebx
push 0xc8
push ecx
call sub.msvcrt.dll_sprintf_s
add esp, 0x24
mov edi, dword [esi + 0x10]
movsx edx, word [esi + 0x1c]
cmp edi, dword [edx*4 + 0xd2b0368]
jae 0xd2a3604
lea ebx, [ebp - 0xdc]
lea ecx, [ebx + 1]
lea esp, [esp]
mov al, byte [ebx]
inc ebx
test al, al
jne 0xd2a39d0
sub ebx, ecx
jmp 0xd2a34f3
mov esi, dword [ebp - 0xe0]
mov ecx, dword [edi]
mov byte [esi + ecx], 0
mov eax, dword [edi]
mov edx, 0xc7
sub edx, eax
push edx
lea ecx, [esi + eax + 1]
push ecx
push 0
push esi
push 0
push 0x400
mov dword [ebp - 0xe0], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrencyFormatA]
mov dword [edi], eax
jmp case.0xd2a3541.4
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edi]
push 0x45
push eax
mov byte [eax + ecx], 0
call dword [sym.imp.msvcrt.dll_strchr]
add esp, 8
test eax, eax
jne case.0xd2a3541.4
mov esi, dword [ebp - 0xe0]
mov edx, dword [edi]
mov byte [esi + edx], 0
mov eax, dword [edi]
mov edx, 0xc7
sub edx, eax
push edx
lea ecx, [esi + eax + 1]
push ecx
push 0
push esi
push 0
push 0x400
mov dword [ebp - 0xe0], ecx
call dword [sym.imp.KERNEL32.dll_GetNumberFormatA]
mov dword [edi], eax
jmp case.0xd2a3541.4
mov edi, dword [ebp - 0xe8]
test ebx, ebx
je 0xd2a3a7a
mov eax, dword [ebp + 0x18]
dec eax
cmp ebx, eax
jg 0xd2a33a2
mov eax, dword [ebp + 0x18]
mov edi, dword [edi]
dec eax
cmp edi, eax
jle 0xd2a3abf
xor ebx, ebx
test eax, eax
setl bl
dec ebx
and ebx, eax
cmp word [ebp + 8], 1
jne 0xd2a3ab3
push 0x20
push edi
push ebx
push esi
call fcn.0d2a1be0
neg eax
sbb eax, eax
and eax, 0xffffff80
add eax, 0xee
mov dword [ebp - 0xe4], eax
jmp 0xd2a3ac1
mov dword [ebp - 0xe4], 0x6e
jmp 0xd2a3ac1
mov ebx, edi
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xec]
push ebx
push ecx
push esi
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
mov byte [esi + ebx], 0
pop edi
pop esi
mov ax, cx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 0x78
pop ebx
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x14