Function at 0x451c2b
Capabilities:
Parse credit card information
Set environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x224
or dword [ebp - 0x34], 0xffffffff
or dword [ebp - 0x1c], 0xffffffff
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 0x78]
cmp esi, ebx
push edi
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], ebx
mov byte [ebp + 0x67], bl
mov byte [ebp + 0x47], bl
mov byte [ebp - 5], bl
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x84], 1
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp + 0x18], str._I64d
je 0x4524c2
cmp word [esi], bx
je 0x4524c2
xor edi, edi
mov di, word [esi]
mov eax, edi
call fcn.00482120
test al, al
jne 0x4524ad
cmp di, 0x2e
je 0x4524a2
cmp di, 0x24
je 0x4524a2
cmp di, 0x25
je 0x4524a2
cmp di, 0x2a
jne 0x451ce2
or byte [ebp + 0x67], 4
jmp 0x4524a2
push 0x7e
pop ecx
cmp di, cx
jne 0x451d33
lea eax, [esi + 2]
cmp word [eax], cx
jne 0x451cfd
or byte [ebp + 0x67], 2
mov esi, eax
jmp 0x4524a2
cmp di, cx
jne 0x451d33
lea eax, [esi + 2]
cmp word [eax], 0x2e
jne 0x451d11
or byte [ebp + 0x67], 8
jmp 0x451cf6
cmp di, cx
jne 0x451d33
lea eax, [esi + 2]
cmp word [eax], 0x2a
jne 0x451d25
or byte [ebp + 0x67], 0xa
jmp 0x451cf6
cmp di, cx
jne 0x451d33
or byte [ebp + 0x67], 1
jmp 0x4524a2
push 4
push esi
push str._std
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451d59
add esi, 6
mov dword [ebp - 0x84], 0x80
jmp 0x4524a2
push 4
push esi
push str._env
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451d7f
add esi, 6
mov dword [ebp - 0x84], 0x40
jmp 0x4524a2
push 4
push esi
push str._raw
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451da2
add esi, 6
mov dword [ebp - 0xc], 0x40
jmp 0x4524a2
cmp di, 0x3c
jne 0x451db1
mov byte [ebp + 0x47], 1
jmp 0x4524a2
cmp di, 0x3e
jne 0x451dc0
mov byte [ebp + 0x47], 2
jmp 0x4524a2
push 4
pop edi
push edi
push esi
push str._def
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451de2
add esi, 6
add byte [ebp + 0x7c], 2
jmp 0x4524a2
push edi
push esi
push str._tom
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451e04
add esi, 6
mov dword [ebp + 0x20], 1
jmp 0x4524a2
push edi
push esi
push str._tow
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451e26
add esi, 6
mov dword [ebp + 0x20], 2
jmp 0x4524a2
push 5
push esi
push str._copy
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451e45
add esi, 8
mov dword [ebp + 0x20], edi
jmp 0x4524a2
push edi
push esi
push str._cmp
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451e67
add esi, 8
mov dword [ebp + 0x20], 0x100
jmp 0x4524a2
push 5
push esi
push str._addr
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451e88
push 8
pop eax
add esi, eax
mov dword [ebp + 0x20], eax
jmp 0x4524a2
push 0xb
push esi
push str._mkfixdummy
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451eab
add esi, 0x14
mov dword [ebp + 0x20], 0x83
jmp 0x4524a2
push 8
pop edi
push edi
push esi
push str._mkdummy
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451ed0
add esi, 0xe
mov dword [ebp + 0x20], 0x81
jmp 0x4524a2
push 5
push esi
push str._make
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451ef2
add esi, edi
mov dword [ebp + 0x20], 0x80
jmp 0x4524a2
push 5
push esi
push str._swap
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451f14
add esi, edi
mov dword [ebp + 0x20], 0x20
jmp 0x4524a2
push 5
push esi
push str._char
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451f39
mov dword [ebp + 0x58], 1
mov dword [ebp + 0x5c], ebx
add esi, edi
jmp 0x4524a2
push 6
push esi
push str._wchar
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451f5f
mov dword [ebp + 0x58], 2
mov dword [ebp + 0x5c], ebx
add esi, 0xa
jmp 0x4524a2
push 6
push esi
push str._short
call fcn.00438b8f
add esp, 0xc
test al, al
jne 0x451f4d
push 4
push esi
push str._ptr
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451f99
mov dword [ebp + 0x58], 4
mov dword [ebp + 0x5c], ebx
add esi, 6
jmp 0x4524a2
push 6
push esi
push str._float
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451fb8
push 4
pop eax
mov dword [ebp - 0x54], eax
mov dword [ebp + 0x58], eax
jmp 0x451f54
push 7
push esi
push str._double
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x451fdd
mov dword [ebp - 0x44], edi
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], ebx
add esi, 0xc
jmp 0x4524a2
push edi
push esi
push str._ldouble
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452001
mov dword [ebp - 0x58], edi
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], ebx
add esi, 0xe
jmp 0x4524a2
push 6
push esi
push str._int64
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452023
add esi, 0xa
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], ebx
jmp 0x4524a2
push 9
push esi
push str._longlong
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45203c
add esi, 0x10
jmp 0x452018
push 5
push esi
push str._long
call fcn.00438b8f
add esp, 0xc
test al, al
jne 0x452064
push 5
push esi
push str._long
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452070
mov dword [ebp + 0x58], 4
jmp 0x451f2f
push 5
push esi
push str._zero
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45208e
add esi, edi
mov dword [ebp - 0x1c], ebx
jmp 0x4524a2
push 7
push esi
push str._intsys
call fcn.00438b8f
add esp, 0xc
test al, al
jne 0x4522d6
push 4
push esi
push str._int
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4520dd
mov ax, word [esi + 8]
and ax, 0xffdf
cmp ax, 0x41
jb 0x4520ce
cmp ax, 0x5a
jbe 0x4520dd
add esi, 6
mov dword [ebp + 0x58], 4
jmp 0x45201b
push 5
push esi
push 0x4ac7f4
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452121
xor eax, eax
inc eax
add esi, edi
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x28], eax
lea eax, [esi + 2]
cmp word [eax], 0x30
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x18], str.0x_I64X
jne 0x4524a2
mov esi, eax
mov dword [ebp + 0x18], str.0x_02I64X
jmp 0x4524a2
push 6
push esi
push 0x4ac7c8
call fcn.00438b8f
add esp, 0xc
test al, al
jne 0x452149
push 6
push esi
push 0x4ac7c0
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45217a
push 2
pop eax
add esi, 0xa
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x28], eax
lea eax, [esi + 2]
cmp word [eax], 0x30
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x18], str.0x_I64X
jne 0x4524a2
mov esi, eax
mov dword [ebp + 0x18], str.0x_04I64X
jmp 0x4524a2
push 4
push esi
push 0x4ac7a4
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4521bb
add esi, 6
lea eax, [esi + 2]
cmp word [eax], 0x30
mov dword [ebp + 0x28], 0x64
mov dword [ebp + 0x58], 4
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x18], str.0x_I64X
jne 0x4524a2
jmp 0x451cf6
push 6
push esi
push 0x4ac79c
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4521e6
push 4
pop eax
add esi, 0xa
mov dword [ebp - 0x54], eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x28], eax
jmp 0x4524a2
push 7
push esi
push 0x4ac794
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45220e
add esi, 0xc
mov dword [ebp - 0x44], edi
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x28], edi
jmp 0x4524a2
push edi
push esi
push 0x4ac788
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452229
add esi, 0xe
mov dword [ebp - 0x58], edi
jmp 0x452200
push 6
push esi
push 0x4ac780
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452242
add esi, 0xa
jmp 0x452259
push 9
push esi
push 0x4ac774
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45227d
add esi, 0x10
lea eax, [esi + 2]
cmp word [eax], 0x30
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x28], edi
jne 0x4524a2
mov esi, eax
mov dword [ebp + 0x18], str.0x_016I64X
jmp 0x4524a2
push 5
push esi
push 0x4ac754
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45229f
add esi, edi
mov dword [ebp + 0x18], str.0x_I64X
jmp 0x452345
push 6
push esi
push str._intpe
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4522bb
add esi, 0xa
jmp 0x452345
push 7
push esi
push 0x4ac744
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45231a
mov dword [ebp + 0x28], 4
add esi, 0xc
cmp byte [0x4bdbe5], 3
mov dword [ebp + 0x58], 4
mov dword [ebp + 0x5c], ebx
jne 0x4522f2
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], ebx
lea eax, [esi + 2]
cmp word [eax], 0x30
jne 0x4524a2
cmp byte [0x4bdbe5], 3
mov esi, eax
je 0x452271
mov dword [ebp + 0x18], str.0x_08I64X
jmp 0x4524a2
push 4
push esi
push 0x4ac728
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452362
mov ax, word [esi + 8]
and ax, 0xffdf
cmp ax, 0x41
jb 0x452342
cmp ax, 0x5a
jbe 0x452362
add esi, 6
push 4
pop eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x28], eax
lea eax, [esi + 2]
cmp word [eax], 0x30
mov dword [ebp + 0x5c], ebx
jne 0x4524a2
mov esi, eax
jmp 0x45230e
push 4
push esi
push str._ret
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4523b2
add esi, edi
cmp word [esi], 0x3a
mov dword [ebp - 0x10], 1
mov dword [ebp + 0x54], esi
jne 0x45238d
inc esi
inc esi
mov dword [ebp + 0x54], esi
mov ax, word [esi]
call fcn.0043d0ab
test al, al
je 0x4523ab
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.004488bd
mov esi, dword [ebp + 0x54]
pop ecx
pop ecx
dec esi
dec esi
jmp 0x4524a2
push 4
push esi
push str._get
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4523ee
add esi, edi
cmp word [esi], 0x3a
mov dword [ebp - 0x20], 1
mov dword [ebp + 0x54], esi
jne 0x4523dd
inc esi
inc esi
mov dword [ebp + 0x54], esi
mov ax, word [esi]
call fcn.0043d0ab
test al, al
je 0x4523ab
lea eax, [ebp - 0x20]
jmp 0x45239c
push 3
push esi
push 0x4ac714
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x45240e
add esi, 4
mov byte [ebp - 5], 1
jmp 0x4524a2
push 2
pop edi
push edi
push esi
push 0x4ac710
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x452445
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp + 0x54]
add esi, 4
push eax
mov dword [ebp + 0x54], esi
mov dword [ebp - 0x80], 1
call fcn.004488bd
mov esi, dword [ebp + 0x54]
pop ecx
pop ecx
jmp 0x4524a0
push edi
push esi
push 0x4ac70c
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4524a2
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp + 0x54]
add esi, 4
push eax
mov dword [ebp + 0x54], esi
call fcn.004050b3
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.004050b3
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x54]
push eax
mov dword [ebp - 0x38], esi
call fcn.004488bd
mov eax, dword [ebp - 0x30]
sub eax, esi
mov esi, dword [ebp + 0x54]
add esp, 0x18
inc eax
cmp word [esi], 0x5d
mov dword [ebp - 0x34], eax
je 0x4524a2
sub esi, edi
inc esi
inc esi
cmp word [esi], bx
jne 0x451ca1
cmp dword [ebp - 0xc], ebx
je 0x4524c2
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x70], eax
lea eax, [ebp + 0x70]
push eax
call fcn.004050f3
pop ecx
mov eax, dword [ebp + 0x70]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.004379a9
mov eax, dword [ebp - 0x14]
pop ecx
jmp 0x4524df
inc byte [ebp + 0x7c]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp word [eax], 0x26
je 0x4524d7
lea ecx, [ebp - 0x74]
call fcn.0043d47d
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x38], eax
jmp 0x452500
cmp cx, 0x3d
je 0x452508
inc eax
inc eax
mov dword [ebp - 0x14], eax
mov cx, word [eax]
cmp cx, bx
jne 0x4524f5
mov dword [ebp + 0x60], 0x4a39d4
cmp word [eax], 0x3d
mov ecx, eax
mov byte [ebp + 0x33], 0
je 0x452521
mov byte [ebp + 0x33], 1
jmp 0x452529
inc eax
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp + 0x60], eax
mov word [ecx], bx
push dword [ebp + 0x38]
call fcn.0040f0fb
mov eax, dword [ebp + 0x38]
cmp word [eax], 0x7e
pop ecx
jne 0x452579
inc eax
inc eax
mov edx, eax
mov dword [ebp - 0x40], edx
jmp 0x45254f
cmp cx, 0x7e
je 0x45255a
inc eax
inc eax
mov dword [ebp + 0x38], eax
mov cx, word [eax]
cmp cx, bx
jne 0x452547
cmp word [eax], 0x7e
je 0x45256a
mov esi, 0x80070057
jmp 0x45398f
mov word [eax], bx
add dword [ebp + 0x38], 2
cmp word [edx], bx
jne 0x452579
mov dword [ebp - 0x40], ebx
lea ecx, [ebp - 0x50]
call fcn.0043d47d
mov esi, dword [ebp - 0x3c]
push 0x3b
push 0x2c
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x38]
push eax
mov ecx, esi
call fcn.0043317e
push 0x3b
push 0x2c
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp + 0x38]
push eax
mov ecx, esi
call fcn.0043317e
cmp dword [ebp + 0x20], 8
mov eax, dword [ebp - 0x74]
mov dword [ebp + 0x38], eax
je 0x4525ca
cmp word [eax], bx
jne 0x4525ca
mov eax, dword [ebp - 0x50]
cmp word [eax], bx
jne 0x4525ca
xor esi, esi
jmp 0x453987
cmp byte [ebp + 0x7c], 2
mov ecx, esi
setge byte [ebp + 0x1f]
mov al, byte [ebp + 0x1f]
neg al
mov dword [ebp - 0xc], ecx
mov dword [ebp + 0x14], esi
sbb eax, eax
and eax, esi
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x28], eax
jle 0x452609
dec dword [ebp - 0x10]
js 0x452600
mov eax, dword [ebp - 0x10]
inc eax
sub dword [ebp - 0x10], eax
dec eax
mov esi, dword [esi + 0x24]
jne 0x4525f7
mov dword [ebp + 0x14], esi
cmp byte [ebp + 0x1f], 0
je 0x452609
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x20]
cmp eax, ebx
jle 0x45261d
dec eax
js 0x45261d
inc eax
dec eax
mov ecx, dword [ecx + 0x24]
jne 0x452614
mov dword [ebp - 0xc], ecx
cmp byte [ebp + 0x33], 0
je 0x45262a
mov byte [ebp + 0x47], 0
mov dword [ebp + 0x20], ebx
push 0x4beb4c
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [ebp - 0x34], ebx
mov edi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov dword [ebp + 0x54], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa4], ebx
jle 0x45269d
push dword [ebp + 0x38]
call edi
push dword [ebp + 0x60]
mov esi, eax
inc esi
call edi
inc eax
lea eax, [eax + esi + 0xc8]
push eax
lea ecx, [ebp + 0x54]
call fcn.0043d4c2
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x54]
lea esi, [eax + esi*2 + 0x50]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa4], esi
jmp 0x45331b
push 0xa
xor eax, eax
pop ecx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
lea edi, [ebp - 0xd4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xdc]
lea ecx, [ebp + 0x3c]
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x50], ebx
mov byte [ebp + 0x73], 0
mov dword [ebp - 0x24], eax
mov dword [ebp + 0x34], ebx
call fcn.0043d47d
cmp dword [ebp - 0x1c], ebx
lea eax, [ebp + 0x48]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 4]
mov dword [ebp + 0x48], ebx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
jl 0x452763
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp + 0x46], 0
call fcn.004050b3
test eax, eax
pop ecx
pop ecx
jle 0x45271b
movzx eax, byte [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
je 0x45315b
lea eax, [ebp + 0x46]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00451bdf
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x45315b
lea eax, [ebp + 0x46]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00451bdf
add esp, 0xc
jmp 0x45315b
cmp byte [ebp - 5], 0
je 0x452785
push dword [ebp + 0x60]
push dword [ebp - 0xc]
call fcn.004407f8
pop ecx
pop ecx
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x4c], 2
jmp 0x453052
test byte [ebp + 0x20], 0x80
je 0x452aa1
mov esi, dword [ebp + 0x60]
xor ecx, ecx
push 0x26
or ebx, 0xffffffff
pop eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], ecx
cmp word [esi], ax
mov dword [ebp + 0x40], esi
mov edi, ebx
mov byte [ebp + 0x46], cl
mov byte [ebp + 0x27], cl
mov dword [ebp + 0x10], ecx
jne 0x45285f
push 2
mov byte [ebp + 0x46], 1
pop edx
cmp ax, 0x3b
je 0x4527e9
cmp ax, 0x2c
je 0x4527e9
cmp ax, 0x3a
je 0x4527e9
cmp ax, 0x40
je 0x4527e9
add esi, edx
mov ax, word [esi]
cmp ax, cx
mov dword [ebp + 0x40], esi
jne 0x4527c4
mov ax, word [esi]
cmp ax, cx
je 0x4527f9
mov word [esi], cx
add esi, edx
mov dword [ebp + 0x40], esi
cmp ax, 0x40
jne 0x452836
mov ax, word [esi]
cmp ax, cx
mov dword [ebp + 0x10], esi
je 0x452836
cmp ax, 0x3b
je 0x452829
cmp ax, 0x2c
je 0x452829
cmp ax, 0x3a
je 0x452829
add esi, edx
mov ax, word [esi]
cmp ax, cx
mov dword [ebp + 0x40], esi
jne 0x45280a
cmp word [esi], cx
je 0x452836
mov word [esi], cx
add esi, edx
mov dword [ebp + 0x40], esi
mov ecx, dword [ebp - 0xc]
push 0
push 0xffffffffffffffff
push 0
push dword [ebp + 0x60]
call fcn.0040ef74
test eax, eax
je 0x453357
mov ecx, dword [eax + 4]
mov dword [ebp + 0x60], ecx
mov edi, dword [eax + 0x10]
xor ebx, ebx
jmp 0x452941
push 5
push esi
push str._shm_
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x452984
add esi, 0xa
mov ecx, esi
xor edi, edi
jmp 0x452898
cmp ax, 0x3b
je 0x4528a3
cmp ax, 0x2c
je 0x4528a3
cmp ax, 0x3a
je 0x4528a3
cmp ax, 0x40
je 0x4528a3
inc esi
inc esi
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x40], esi
jne 0x45287e
mov ax, word [esi]
cmp ax, di
je 0x4528b3
mov word [esi], di
inc esi
inc esi
mov dword [ebp + 0x40], esi
cmp ax, 0x40
jne 0x4528f0
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x10], esi
je 0x4528f0
cmp ax, 0x3b
je 0x4528e3
cmp ax, 0x2c
je 0x4528e3
cmp ax, 0x3a
je 0x4528e3
inc esi
inc esi
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x40], esi
jne 0x4528c4
cmp word [esi], di
je 0x4528f0
mov word [esi], di
inc esi
inc esi
mov dword [ebp + 0x40], esi
cmp word [ecx], di
je 0x453391
mov eax, 0x4a39d4
push eax
push eax
push eax
push 0xffffffffffffffff
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.0043a500
cmp eax, edi
je 0x453391
cmp dword [eax + 4], 0x14
jne 0x453391
cmp dword [eax + 0x48], 0xfffffffe
jne 0x453391
cmp dword [eax + 0x50], edi
jle 0x453391
mov ecx, dword [eax + 0x44]
mov dword [ebp + 0x60], ecx
mov eax, dword [eax + 0x50]
dec eax
dec eax
cdq
mov edi, eax
mov ebx, edx
cmp dword [ebp + 0x10], 0
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x50], ebx
je 0x4529a1
lea eax, [ebp + 0x27]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.00451bdf
add esp, 0xc
test eax, eax
jle 0x4529a1
cmp dword [ebp - 0x6c], 0
jl 0x4529a1
mov eax, dword [ebp - 0x70]
jg 0x452974
test eax, eax
jbe 0x4529a1
add dword [ebp + 0x60], eax
sub edi, eax
sbb ebx, dword [ebp - 0x6c]
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x50], ebx
jmp 0x4529a1
lea eax, [ebp + 0x27]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.00451bdf
mov eax, dword [ebp - 0x70]
mov esi, dword [ebp + 0x40]
add esp, 0xc
mov dword [ebp + 0x60], eax
cmp word [esi], 0x7e
sete byte [ebp - 6]
cmp byte [ebp - 6], 0
je 0x4529b4
inc esi
inc esi
mov dword [ebp + 0x40], esi
cmp word [esi], 0x2a
sete byte [ebp + 7]
cmp byte [ebp + 7], 0
je 0x4529cb
inc esi
inc esi
mov dword [ebp + 0x40], esi
mov byte [ebp + 0x27], 0
lea eax, [ebp + 0x27]
push eax
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.00451bdf
xor esi, esi
add esp, 0xc
cmp dword [ebp + 0x60], esi
jne 0x4529f5
mov dword [ebp + 0x60], 0x4a450a
mov dword [ebp + 0x50], esi
jmp 0x452fd1
cmp eax, 1
jge 0x452a31
cmp byte [ebp + 0x46], 0
jne 0x452a49
cmp byte [ebp + 7], 0
je 0x452a18
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
cdq
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x452a49
cmp byte [ebp - 6], 0
jg 0x452a49
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], esi
jmp 0x452a49
cmp byte [ebp + 0x46], 0
je 0x452a49
cmp dword [ebp + 0x50], ebx
jl 0x452a49
jg 0x452a43
cmp dword [ebp + 0x4c], edi
jbe 0x452a49
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x50], ebx
cmp dword [ebp + 0x50], esi
jl 0x4533ba
jg 0x452a5d
cmp dword [ebp + 0x4c], esi
jb 0x4533ba
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x20]
and ax, 0x81
cmp al, 0x81
mov dword [ebp + 0x50], esi
jne 0x452fd4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp + 0x60]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp + 0x3c]
call fcn.0040ef74
cmp eax, esi
je 0x4533e3
test byte [eax + 0x17], 0xc0
je 0x4533f6
mov dword [eax + 4], esi
jmp 0x4533f6
cmp dword [ebp + 0x20], ebx
fldz
fstp qword [ebp - 4]
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
je 0x45305a
mov eax, dword [ebp + 0x60]
xor edi, edi
xor ecx, ecx
jmp 0x452ad8
cmp cx, 0x2c
je 0x452ae5
cmp cx, 0x3b
je 0x452ae5
cmp cx, 0x3a
je 0x452ae5
cmp cx, 0x7c
je 0x452ae5
inc eax
inc eax
mov cx, word [eax]
cmp cx, bx
mov dword [ebp - 0x18], eax
jne 0x452abe
jmp 0x452af0
mov di, word [eax]
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x3c]
push ebx
push 0x2c
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043317e
mov ecx, dword [ebp - 0xc]
push ebx
push 0xffffffffffffffff
push ebx
push dword [ebp + 0x3c]
call fcn.0040ef74
cmp eax, ebx
je 0x453454
lea esi, [eax + 4]
mov ecx, dword [esi]
add eax, 0x10
mov dword [ebp + 0x60], ecx
mov ecx, dword [eax]
mov dword [ebp + 0x4c], ecx
mov ecx, dword [ebp + 0x20]
cmp ecx, 8
mov dword [ebp + 0x50], ebx
jne 0x452b86
mov eax, dword [eax]
push dword [ebp - 0x50]
mov dword [ebp + 0x4c], eax
push eax
push dword [ebp - 0x3c]
mov dword [ebp + 0x50], ebx
call fcn.0043f7f4
mov eax, dword [ebp + 0x38]
add esp, 0xc
cmp word [eax], bx
je 0x453454
push dword [esi]
lea eax, [ebp - 0x11c]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x11c]
add esp, 0xc
push eax
mov dword [ebp + 0x60], eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
jmp 0x45304f
cmp ecx, 4
jne 0x452ca0
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x28]
push dword [ebp + 0x38]
call fcn.0040ef74
cmp di, bx
mov esi, eax
jne 0x453480
cmp esi, ebx
je 0x45315b
test byte [esi + 0x17], 0xc0
je 0x45315b
mov eax, dword [ebp + 0x60]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x5c], eax
mov ebx, dword [ebp - 0x7c]
add ebx, dword [ebp + 0x58]
mov edi, dword [ebp - 0x78]
adc edi, dword [ebp + 0x5c]
mov ecx, dword [esi + 0x10]
and dword [ebp + 0x2c], 0
test byte [esi + 0x17], 0xc0
mov dword [ebp + 0x28], ecx
je 0x452bfe
cmp edi, dword [ebp + 0x2c]
jl 0x452bfe
jg 0x453357
cmp ebx, ecx
ja 0x453357
mov eax, ebx
sub eax, ecx
mov edx, edi
sbb edx, dword [ebp + 0x2c]
mov dword [ebp - 0x88], edx
js 0x452c62
jg 0x452c15
test eax, eax
jbe 0x452c62
push 0
mov eax, ebx
add eax, 1
mov ecx, edi
push 2
adc ecx, 0
push ecx
push eax
call fcn.0048f800
add eax, 2
lea ecx, [esi + 4]
push eax
mov dword [ebp - 0x88], edx
mov dword [ebp + 0x7c], eax
call fcn.0043d4c2
mov eax, dword [ebp + 0x7c]
add eax, eax
sub eax, dword [ebp + 0x28]
push eax
mov eax, dword [esi + 4]
add eax, dword [ebp + 0x28]
push 0
push eax
call fcn.0048f7a0
mov ecx, dword [ebp + 0x28]
add esp, 0xc
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edi
cmp dword [ebp + 0x20], 4
jne 0x452c89
mov eax, dword [ebp + 0x58]
add eax, 3
and eax, 0xfffffffe
mov dword [ebp + 0x58], eax
xor edx, edx
xor eax, eax
cmp edx, eax
jl 0x452c89
jg 0x452c83
cmp dword [ebp + 0x58], ecx
jbe 0x452c89
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x5c], eax
push dword [ebp + 0x58]
mov eax, dword [esi + 4]
add eax, dword [ebp - 0x7c]
push dword [ebp - 0x24]
push eax
call fcn.004125f9
jmp 0x453588
cmp ecx, 0x100
jne 0x452f29
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x28]
push dword [ebp + 0x38]
call fcn.0040ef74
or dword [ebp + 0xc], 0xffffffff
mov dword [ebp], eax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp + 8], 0xfffffff8
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x18]
push eax
xor edi, edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0x40], ebx
call fcn.004050d3
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004050d3
add esp, 0x10
cmp dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
jg 0x452d2d
jl 0x452d1a
cmp dword [ebp + 8], ebx
jae 0x452d2d
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x10], 1
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004050d3
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
pop ecx
pop ecx
mov ecx, eax
or ecx, 0x20
cmp cx, 0x73
je 0x452d53
cmp cx, 0x69
jne 0x452d62
mov dword [ebp - 0x20], eax
xor eax, 0x20
cmp word [ebp - 0x20], bx
mov dword [ebp - 0x24], eax
jne 0x452d65
mov dword [ebp + 0x10], ebx
cmp dword [ebp - 0x5c], ebx
jl 0x453357
jg 0x452d79
cmp dword [ebp - 0x60], ebx
jb 0x453357
cmp dword [ebp - 0x90], ebx
jl 0x453357
mov ebx, dword [ebp - 0x94]
jg 0x452d95
test ebx, ebx
jb 0x453357
cmp dword [ebp + 0xc], 0
jl 0x453357
jg 0x452dab
cmp dword [ebp + 8], 0
jbe 0x453357
mov edx, dword [ebp + 0x50]
cmp dword [ebp - 0x90], edx
jg 0x453357
mov ecx, dword [ebp + 0x4c]
jl 0x452dc7
cmp ebx, ecx
ja 0x453357
cmp dword [ebp - 0x5c], edi
jg 0x453357
jl 0x452ddb
cmp dword [ebp - 0x60], esi
ja 0x453357
cmp dword [ebp + 0x10], 0
jne 0x452e2a
sub ecx, ebx
sbb edx, dword [ebp - 0x90]
sub esi, dword [ebp - 0x60]
sbb edi, dword [ebp - 0x5c]
cmp edi, edx
jl 0x452dfd
jg 0x452df9
cmp esi, ecx
jbe 0x452dfd
mov esi, ecx
mov edi, edx
cmp dword [ebp + 0xc], edi
jl 0x452e0f
jg 0x452e09
cmp dword [ebp + 8], esi
jbe 0x452e0f
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], edi
test byte [ebp - 0x24], 0x20
je 0x452e2a
push 0
push 2
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0048f800
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
cmp dword [ebp + 0xc], 0
jl 0x452ef1
jg 0x452e40
cmp dword [ebp + 8], 0
jbe 0x452ef1
mov eax, dword [ebp]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x60]
add ecx, dword [ebp - 0x60]
lea edx, [ebx + eax]
mov eax, dword [ebp - 0x20]
cmp ax, 0x73
jne 0x452e78
cmp dword [ebp + 0x10], 0
je 0x452e6b
push edx
push ecx
call dword [sym.imp.KERNEL32.DLL_lstrcmpA]
jmp 0x452eee
push dword [ebp + 8]
push edx
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCmpNA]
jmp 0x452eee
cmp ax, 0x53
jne 0x452e9b
cmp dword [ebp + 0x10], 0
je 0x452e8e
push edx
push ecx
call dword [sym.imp.KERNEL32.DLL_lstrcmpW]
jmp 0x452eee
push dword [ebp + 8]
push edx
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
jmp 0x452eee
cmp ax, 0x69
jne 0x452ebe
cmp dword [ebp + 0x10], 0
je 0x452eb1
push edx
push ecx
call dword [sym.imp.KERNEL32.DLL_lstrcmpiA]
jmp 0x452eee
push dword [ebp + 8]
push edx
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
jmp 0x452eee
cmp ax, 0x49
jne 0x452ee1
cmp dword [ebp + 0x10], 0
je 0x452ed4
push edx
push ecx
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
jmp 0x452eee
push dword [ebp + 8]
push edx
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
jmp 0x452eee
push dword [ebp + 8]
push edx
push ecx
call fcn.00437a2b
add esp, 0xc
mov dword [ebp + 0x40], eax
movsx eax, word [ebp + 0x40]
push eax
lea eax, [ebp - 0x11c]
push 0x4a4088
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x11c]
add esp, 0xc
push eax
mov dword [ebp + 0x60], eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
and dword [ebp + 0x50], 0
mov dword [ebp + 0x4c], eax
jmp 0x452fd4
cmp ecx, 1
jne 0x452fdb
mov esi, dword [eax]
xor ebx, ebx
push ebx
push 5
xor eax, eax
push eax
shr esi, 1
push esi
call fcn.0048f8b0
mov edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp + 0x48]
mov dword [ebp - 0x88], edx
call fcn.0043d398
push ebx
push ebx
push edi
push dword [ebp + 0x48]
push esi
push dword [ebp + 0x60]
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
cdq
mov ebx, edx
test ebx, ebx
mov esi, eax
jg 0x452f7f
jl 0x452f79
test esi, esi
jae 0x452f7f
xor esi, esi
xor ebx, ebx
jmp 0x452f95
cmp ebx, dword [ebp - 0x88]
jl 0x452f95
jg 0x452f8d
cmp esi, edi
jbe 0x452f95
mov ebx, dword [ebp - 0x88]
mov esi, edi
mov eax, dword [ebp + 0x48]
mov byte [esi + eax], 0
push 0
mov eax, esi
add eax, 1
mov ecx, ebx
push 2
adc ecx, 0
push ecx
push eax
call fcn.0048f800
mov edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp + 0x48]
call fcn.0043d4c2
mov eax, dword [ebp + 0x48]
and word [eax + edi*2], 0
mov byte [ebp + 0x73], 1
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x4c], esi
xor ebx, ebx
jmp 0x45315b
cmp ecx, 2
jne 0x453032
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
lea ecx, [ebp + 0x48]
mov dword [ebp], ebx
call fcn.0043d4c2
push esi
push dword [ebp + 0x48]
push esi
push dword [ebp + 0x60]
push ebx
push ebx
call dword [0x4bdb9c]
mov esi, eax
cmp esi, ebx
jge 0x453009
xor esi, esi
lea eax, [esi + 1]
push eax
lea ecx, [ebp + 0x48]
call fcn.0043d4c2
mov ecx, dword [ebp + 0x48]
lea eax, [esi + esi]
mov word [eax + ecx], bx
cdq
mov byte [ebp + 0x73], 1
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x45315b
cmp ecx, 0x20
jne 0x453933
mov ecx, dword [esi]
mov dword [ebp - 0xa0], eax
mov dword [ebp + 0x60], ecx
mov eax, dword [eax]
mov dword [ebp - 0x30], esi
mov byte [ebp + 0x73], 1
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], ebx
jmp 0x45315b
cmp byte [ebp + 0x67], 0
je 0x453089
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
je 0x453089
xor ecx, ecx
mov cl, byte [ebp - 0x84]
or cl, byte [ebp + 0x67]
push ecx
push eax
lea ecx, [ebp + 0x3c]
call fcn.0044584c
mov ecx, dword [ebp - 0xc]
push eax
call fcn.00451ae5
mov dword [ebp + 0x60], eax
mov eax, dword [ebp - 0x80]
dec eax
cmp eax, ebx
jl 0x4530ae
lea esi, [eax + 1]
mov ecx, dword [ebp - 0xc]
push ebx
push ebx
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x60]
call fcn.0044b30d
dec esi
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x60], eax
jne 0x453094
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
je 0x4530cd
lea eax, [ebp + 0x4c]
push eax
push dword [ebp + 0x78]
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004512c2
add esp, 0x10
mov ecx, dword [ebp + 0x60]
cmp ecx, dword [ebp + 0x48]
sete byte [ebp + 0x73]
xor eax, eax
cmp eax, ebx
jg 0x4535b7
jl 0x4530ec
cmp dword [ebp + 0x28], ebx
ja 0x4535b7
cmp dword [ebp + 0x5c], ebx
jg 0x453737
jl 0x453100
cmp dword [ebp + 0x58], ebx
ja 0x453737
cmp byte [ebp + 0x47], 0
je 0x45314b
cmp dword [ebp + 0x50], ebx
jl 0x453933
jg 0x45311a
cmp dword [ebp + 0x4c], ebx
jbe 0x453933
mov esi, 0x4beb4c
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x28]
push dword [ebp + 0x38]
call fcn.0040ef74
cmp eax, ebx
mov dword [ebp], eax
jne 0x45381c
push esi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x45315b
cmp byte [ebp + 0x33], 0
je 0x45315b
cmp byte [ebp + 0x1f], 0
je 0x4538fb
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], ebx
je 0x453194
cmp byte [ebp + 0x7c], 0
jne 0x453194
mov eax, dword [ebp + 0x14]
test byte [eax + 9], 0xf
jne 0x453194
cmp byte [ebp + 0x73], 0
jne 0x453194
cmp dword [ebp - 0x1c], ebx
jge 0x453194
cmp byte [ebp + 0x33], 0
jne 0x453194
push dword [ebp + 0x60]
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.DLL_SetEnvironmentVariableW]
jmp 0x4532f4
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x28]
push dword [ebp + 0x38]
call fcn.0040ef74
mov esi, eax
cmp esi, ebx
mov edi, esi
jne 0x45320b
cmp dword [ebp - 0x1c], ebx
jge 0x4531ff
cmp byte [ebp + 0x73], 0
je 0x4531bf
xor ecx, ecx
mov dword [ebp], ebx
jmp 0x4531c8
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x4c]
mov dword [ebp], eax
cmp byte [ebp + 0x73], 0
mov eax, 0x4a39d4
jne 0x4531d6
mov eax, dword [ebp + 0x60]
push ecx
mov ecx, dword [ebp + 0x14]
push 0xffffffffffffffff
push eax
push dword [ebp + 0x38]
call fcn.00412db7
cmp dword [ebp - 0x40], ebx
mov esi, eax
je 0x4531fb
cmp esi, ebx
je 0x4531ff
push dword [ebp - 0x40]
lea ecx, [esi + 8]
call fcn.004458a8
cmp esi, ebx
jne 0x45320b
mov dword [ebp - 0x24], 1
jmp 0x4532f4
cmp dword [ebp - 0x1c], ebx
jl 0x453275
mov ecx, dword [esi + 0x10]
mov eax, ecx
sub eax, dword [ebp - 0x9c]
xor edx, edx
cmp dword [ebp - 0x48], edx
jb 0x45322f
ja 0x453229
cmp dword [ebp - 0x4c], eax
jbe 0x45322f
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x98]
xor eax, eax
cmp edx, eax
ja 0x4532f4
jb 0x45324d
cmp dword [ebp - 0x9c], ecx
jae 0x4532f4
cmp dword [ebp - 0x48], ebx
ja 0x45325b
cmp dword [ebp - 0x4c], ebx
jbe 0x4532f4
push dword [ebp - 0x4c]
mov eax, dword [esi + 4]
add eax, dword [ebp - 0x9c]
push dword [ebp - 0x1c]
push eax
call fcn.0048f7a0
add esp, 0xc
jmp 0x4532f4
cmp byte [ebp + 0x33], 0
jne 0x4532f4
cmp edi, ebx
je 0x4532b1
mov al, byte [edi + 0x17]
and al, 0xc0
cmp al, 0xc0
jne 0x4532aa
cmp byte [ebp + 0x73], 0
je 0x453296
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp + 0x60], eax
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push dword [ebp + 0x60]
push esi
call fcn.00437fc5
add esp, 0x10
jmp 0x4532f4
test al, al
je 0x4532b1
mov dword [edi + 4], ebx
cmp byte [ebp + 0x73], 0
je 0x4532e3
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
mov dword [ecx], edx
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x4c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x50]
mov dword [esi + 0x14], eax
jmp 0x4532f4
cmp edi, ebx
je 0x4532f4
push dword [ebp + 0x4c]
mov ecx, esi
push dword [ebp + 0x60]
call fcn.00402d3b
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
cmp dword [ebp - 0x34], ebx
jle 0x45396c
mov esi, dword [ebp - 0xa4]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x2c]
dec dword [ebp - 0x34]
push dword [ebp - 0xa8]
mov dword [ebp + 0x38], eax
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push dword [ebp - 0x38]
mov dword [ebp + 0x60], esi
push dword [ebp - 0x64]
push esi
call fcn.0043a6f8
add esp, 0x1c
inc dword [ebp - 0x2c]
inc dword [ebp - 0x38]
jmp 0x45269d
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
test eax, eax
je 0x453387
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov esi, 0x80070057
jmp 0x453987
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
cmp eax, edi
jmp 0x45337e
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
cmp eax, esi
jmp 0x45337e
mov ecx, dword [ebp + 0x14]
push esi
push 0xffffffffffffffff
push 0x4a39d4
push dword [ebp + 0x38]
call fcn.00412db7
xor ecx, ecx
cmp dword [ebp + 0x20], 0x83
mov edx, 0xc0000000
je 0x45340b
mov edx, 0x80000000
or ecx, dword [ebp + 0x4c]
or edx, dword [ebp + 0x50]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [eax + 4]
mov dword [ebp + 0x7c], ecx
lea ecx, [ebp + 0x7c]
mov dword [eax + 4], edi
call fcn.00437960
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
cmp eax, esi
jmp 0x45395a
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
cmp eax, ebx
jmp 0x45337e
mov eax, dword [ebp + 0x4c]
mov edi, dword [esi + 0x10]
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x5c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 4], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x2c], ebx
call fcn.004050d3
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004050d3
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004050d3
xor eax, eax
add esp, 0x18
cmp dword [ebp], eax
jl 0x453357
jg 0x4534db
cmp dword [ebp - 4], eax
jb 0x453357
cmp dword [ebp + 0x5c], eax
jl 0x453357
jg 0x4534ef
cmp dword [ebp + 0x58], eax
jbe 0x453357
mov ecx, dword [ebp + 0x50]
cmp dword [ebp], ecx
jg 0x453357
mov eax, dword [ebp + 0x4c]
jl 0x453509
cmp dword [ebp - 4], eax
ja 0x453357
cmp dword [ebp + 0x2c], ebx
jg 0x453357
jl 0x45351d
cmp dword [ebp + 0x28], edi
ja 0x453357
cmp dword [ebp + 0x2c], 0
jg 0x453533
jl 0x45352b
cmp dword [ebp + 0x28], 0
jae 0x453533
and dword [ebp + 0x28], 0
and dword [ebp + 0x2c], 0
mov edx, dword [ebp - 4]
sub eax, edx
sbb ecx, dword [ebp]
sub edi, dword [ebp + 0x28]
sbb ebx, dword [ebp + 0x2c]
cmp dword [ebp + 0x5c], ecx
jl 0x453553
jg 0x45354d
cmp dword [ebp + 0x58], eax
jbe 0x453553
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], ecx
cmp dword [ebp + 0x5c], ebx
jl 0x453565
jg 0x45355f
cmp dword [ebp + 0x58], edi
jbe 0x453565
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], ebx
cmp dword [ebp + 0x5c], 0
jl 0x45358b
jg 0x453573
cmp dword [ebp + 0x58], 0
jbe 0x45358b
mov eax, dword [ebp + 0x60]
push dword [ebp + 0x58]
add edx, eax
mov eax, dword [esi + 4]
add eax, dword [ebp + 0x28]
push edx
push eax
call fcn.004125af
add esp, 0xc
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
test eax, eax
jmp 0x45395a
mov dword [ebp - 0x14], ecx
lea ecx, [ebp + 0x7c]
call fcn.0043d47d
mov ecx, dword [ebp - 0x3c]
push 0x2c
push 0x3a
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0043317e
mov eax, dword [ebp + 0x7c]
cmp word [eax], bx
jne 0x4535eb
lea ecx, [ebp + 0x7c]
call fcn.00437960
jmp 0x453933
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x14]
xor ebx, ebx
push eax
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
call fcn.00448773
mov edi, dword [ebp - 0x68]
add edi, dword [ebp + 0x58]
mov esi, dword [ebp - 0x64]
adc esi, dword [ebp + 0x5c]
pop ecx
pop ecx
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x28]
mov word [ebp - 0x1bc], bx
push dword [ebp + 0x38]
call fcn.0040ef74
inc ebx
xor ecx, ecx
xor edx, edx
test eax, eax
je 0x453632
mov ecx, dword [eax + 0x10]
cmp edx, esi
jl 0x4536e6
jg 0x453644
cmp ecx, edi
jb 0x4536e6
mov eax, dword [eax + 4]
add eax, dword [ebp - 0x68]
push dword [ebp + 0x58]
xor ebx, ebx
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.004125f9
add esp, 0xc
cmp dword [ebp - 0x54], ebx
je 0x453676
fld dword [ebp - 0xdc]
push ecx
push ecx
fstp qword [esp]
push 0x4ac6f8
jmp 0x453690
cmp dword [ebp - 0x44], ebx
jne 0x453680
cmp dword [ebp - 0x58], ebx
je 0x45369f
fld qword [ebp - 0xdc]
push ecx
push ecx
fstp qword [esp]
push 0x4ac6f0
lea eax, [ebp - 0x1bc]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
jmp 0x4536e3
cmp dword [ebp + 0x28], 0x64
jne 0x4536c8
xor eax, eax
cmp eax, ebx
jne 0x4536c8
push dword [ebp - 0xdc]
lea eax, [ebp - 0x1bc]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x4536e6
push dword [ebp + 0x18]
lea eax, [ebp - 0x1bc]
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push eax
call fcn.004842d2
add esp, 0x10
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x1bc]
push eax
push dword [ebp + 0x7c]
call fcn.0043cd78
lea ecx, [ebp + 0x7c]
call fcn.00437960
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
test eax, eax
je 0x453730
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov esi, ebx
jmp 0x453987
cmp dword [ebp - 0x54], ebx
mov dword [ebp + 0x7c], ecx
je 0x453757
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.004400a6
fld qword [ebp - 4]
fstp dword [ebp - 0xdc]
jmp 0x453789
cmp dword [ebp - 0x44], ebx
jne 0x453761
cmp dword [ebp - 0x58], ebx
je 0x453779
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.004400a6
fld qword [ebp - 4]
fstp qword [ebp - 0xdc]
jmp 0x453789
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00448773
mov eax, dword [ebp + 0x7c]
cmp word [eax], bx
pop ecx
pop ecx
je 0x4537ac
add dword [ebp + 0x7c], 2
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp + 0x7c]
push eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.00448773
pop ecx
pop ecx
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x28]
push dword [ebp + 0x38]
call fcn.0040ef74
mov esi, eax
cmp esi, ebx
jne 0x452bcf
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push 0x4a39d4
push dword [ebp + 0x38]
call fcn.00412db7
mov esi, eax
cmp esi, ebx
jne 0x452bcf
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
cmp eax, ebx
je 0x453814
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor esi, esi
inc esi
jmp 0x453987
mov edi, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
lea esi, [eax + 4]
mov eax, dword [esi]
xor ecx, ecx
cmp edx, ebx
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x70], eax
jg 0x45389f
jl 0x453839
cmp edi, ebx
jae 0x45389f
mov byte [ebp + 0x7f], 1
mov dword [esi], ebx
mov edi, dword [ebp + 0x28]
add edi, dword [ebp + 0x4c]
push 0
adc ecx, dword [ebp + 0x50]
push 2
push ecx
push edi
mov dword [ebp - 0x88], ecx
call fcn.0048f800
mov ebx, eax
lea eax, [ebx + 2]
push eax
mov ecx, esi
mov dword [ebp + 0x5c], edx
call fcn.0043d4c2
mov ecx, dword [esi]
lea eax, [ebx + ebx]
and word [eax + ecx + 2], 0
mov ecx, dword [esi]
and word [eax + ecx], 0
cmp byte [ebp + 0x47], 1
mov esi, dword [esi]
jne 0x4538a5
cmp byte [ebp + 0x7f], 0
je 0x453898
push dword [ebp + 0x28]
push dword [ebp + 0x70]
push esi
call fcn.004125f9
add esp, 0xc
mov eax, dword [ebp + 0x28]
add esi, eax
jmp 0x4538ce
mov byte [ebp + 0x7f], 0
jmp 0x45383f
cmp byte [ebp + 0x47], 2
jne 0x4538dd
mov eax, dword [ebp + 0x4c]
push dword [ebp + 0x28]
add eax, esi
cmp byte [ebp + 0x7f], 0
je 0x4538c4
push dword [ebp + 0x70]
push eax
call fcn.004125f9
jmp 0x4538cb
push esi
push eax
call fcn.004125af
add esp, 0xc
push dword [ebp + 0x4c]
push dword [ebp + 0x60]
push esi
call fcn.004125f9
add esp, 0xc
mov eax, dword [ebp]
mov ecx, dword [ebp - 0x88]
push 0x4beb4c
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], ecx
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor ebx, ebx
jmp 0x453933
mov ecx, dword [ebp + 0x14]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x28]
push dword [ebp + 0x38]
call fcn.0040ef74
mov esi, eax
cmp esi, ebx
je 0x453933
test byte [esi + 0x17], 0xc0
je 0x453920
mov eax, dword [esi + 4]
mov word [eax], bx
jmp 0x453933
push 0x4a39d4
lea ecx, [esi + 4]
call fcn.0044584c
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
lea ecx, [ebp + 0x48]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp + 0x34]
call fcn.00437960
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
cmp eax, ebx
je 0x4525c3
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x4525c3
lea ecx, [ebp + 0x54]
call fcn.00437960
mov eax, 0x4beb4c
cmp eax, ebx
je 0x453984
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x50]
call fcn.00437960
lea ecx, [ebp - 0x74]
call fcn.00437960
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10