Function at 0x4627c0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4a9893
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x140
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x44], ebp
mov al, byte [esp + 0x1f]
xor esi, esi
mov dword [esp + 0x158], esi
mov byte [esp + 0x4c], al
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
lea ecx, [esp + 0x68]
mov byte [esp + 0x158], 1
call fcn.00478910
push esi
lea ecx, [esp + 0x44]
mov byte [esp + 0x15c], 2
call fcn.00475930
push esi
lea ecx, [esp + 0x30]
mov byte [esp + 0x15c], 3
call fcn.00475930
push esi
lea ecx, [esp + 0x38]
mov byte [esp + 0x15c], 4
call fcn.00475930
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x15c], 5
call fcn.00475930
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x15c], 6
call fcn.00475930
push esi
lea ecx, [esp + 0x64]
mov byte [esp + 0x15c], 7
call fcn.00475930
push esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x15c], 8
call fcn.00475930
push esi
lea ecx, [esp + 0x4c]
mov byte [esp + 0x15c], 9
call fcn.00475930
xor bl, bl
push 5
lea ecx, [esp + 0x164]
mov byte [esp + 0x15c], 0xa
mov byte [esp + 0x37], bl
mov byte [esp + 0x2e], bl
mov byte [esp + 0x36], bl
mov byte [esp + 0x35], bl
mov byte [esp + 0x2f], bl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x23], bl
mov byte [esp + 0x22], 1
mov byte [esp + 0x1a], 1
mov byte [esp + 0x1b], 1
mov byte [esp + 0x18], 1
mov byte [esp + 0x19], 1
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x40]
call fcn.00475ae0
push 6
lea ecx, [esp + 0x164]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x4c]
call fcn.00475ae0
push 1
lea ecx, [esp + 0x164]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x24]
call fcn.00475ae0
push 8
lea ecx, [esp + 0x164]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x64]
call fcn.00475ae0
push esi
lea ecx, [esp + 0x64]
call fcn.00475c70
push 0x4c4538
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 2
push 0x4bc32c
call fcn.004759a0
mov ecx, dword [0x4c4548]
call fcn.00441500
cmp ax, si
je 0x4629e4
push esi
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 0xf
jle 0x4629e4
push 0xf
lea ecx, [esp + 0x14]
call fcn.00475c70
mov byte [0x4c4569], al
push 0x4c4538
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00475910
mov ecx, ebp
call fcn.00447c50
mov edi, eax
cmp di, 1
jne 0x463af1
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
mov esi, eax
cmp si, 2
jle 0x462a55
push 2
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, 8
je 0x462a55
mov bl, 1
mov byte [esp + 0x33], bl
cmp si, 3
jle 0x462a83
push 3
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, 0x40
je 0x462a6f
mov byte [esp + 0x2a], 1
push 3
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, 1
je 0x462a83
mov byte [esp + 0x32], 1
cmp si, 4
jle 0x462ab1
push 4
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, 0x80
je 0x462a9d
mov byte [esp + 0x31], 1
push 4
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, 0x40
je 0x462ab1
mov byte [esp + 0x2b], 1
cmp si, 5
jle 0x462adf
push 5
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, 0x10
je 0x462acb
mov byte [esp + 0x3a], 1
push 5
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, 8
je 0x462adf
mov byte [esp + 0x1f], 1
test bl, bl
jne 0x462b07
mov al, byte [esp + 0x32]
test al, al
jne 0x462b07
mov al, byte [esp + 0x31]
test al, al
jne 0x462b07
mov al, byte [esp + 0x2b]
test al, al
jne 0x462b07
mov al, byte [esp + 0x2a]
test al, al
je 0x463ac3
push ecx
lea esi, [ebp + 0x1c]
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00475910
lea ecx, [esp + 0x38]
call fcn.00475ae0
lea edi, [ebp + 0x18]
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00475910
lea ecx, [esp + 0x38]
call fcn.00475ae0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0
call fcn.00475930
lea ecx, [esp + 0x44]
call fcn.00475ae0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edi
call fcn.00475910
mov ecx, dword [0x4c45cc]
call fcn.00478b00
push 7
mov ecx, esi
call fcn.00475c70
add al, 6
lea ecx, [esp + 0x34]
push eax
push 7
call fcn.00475c80
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
sub esp, 0x10
lea edx, [esp + 0x7b]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
push str.UINFO.DB
mov byte [esp + 0x174], 0xb
call fcn.0041b350
mov ecx, dword [0x4c4560]
lea eax, [esp + 0x60]
push eax
mov byte [esp + 0x170], 0xa
call fcn.0042cec0
test ax, ax
je 0x463048
mov ecx, dword [0x4c45cc]
push 1
call fcn.00478a60
push 9
lea ecx, [esp + 0x50]
call fcn.0041b6f0
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x28], esp
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
mov ecx, dword [0x4c45cc]
add esp, 8
call fcn.00478d90
mov ebx, 1
push 7
mov ecx, esi
call fcn.00475c70
add al, bl
lea ecx, [esp + 0x34]
push eax
push 7
call fcn.00475c80
cmp bx, 4
jne 0x462c43
mov al, byte [esp + 0x2b]
test al, al
je 0x462ce2
jmp 0x462c55
cmp bx, 5
jne 0x462c55
mov al, byte [esp + 0x2a]
test al, al
je 0x462ce2
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0x73]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push str.UINFO.DB
mov byte [esp + 0x174], 0xc
call fcn.0041b350
lea ecx, [esp + 0x60]
mov byte [esp + 0x16c], 0xa
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
test ax, ax
je 0x462ce2
push 9
lea ecx, [esp + 0x50]
call fcn.0041b6f0
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x28], esp
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
mov ecx, dword [0x4c45cc]
add esp, 8
call fcn.00478c40
push ebx
lea ecx, [esp + 0x44]
call fcn.00475ce0
inc ebx
cmp bx, 5
jle 0x462c18
mov ecx, dword [0x4c45cc]
lea edx, [esp + 0x68]
push edx
call fcn.00478ee0
test al, al
je 0x46302c
push 0
lea ecx, [esp + 0x6c]
call fcn.004794a0
test al, al
je 0x462f75
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0
call fcn.00475930
lea ecx, [esp + 0x30]
call fcn.00475ae0
lea ecx, [esp + 0x40]
xor esi, esi
call fcn.00475d00
test ax, ax
jle 0x462d70
push esi
lea ecx, [esp + 0x6c]
call fcn.004794a0
test al, al
je 0x462d61
push esi
lea ecx, [esp + 0x44]
call fcn.00475c70
push eax
lea ecx, [esp + 0x30]
call fcn.00475ce0
lea ecx, [esp + 0x40]
inc esi
call fcn.00475d00
cmp si, ax
jl 0x462d3f
mov al, byte [esp + 0x1e]
test al, al
je case.0x462dab.2
mov al, byte [esp + 0x33]
test al, al
je case.0x462dab.2
mov bl, 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1e], bl
xor esi, esi
call fcn.00475d00
test ax, ax
jle 0x462dcb
push esi
lea ecx, [esp + 0x30]
call fcn.00475c70
and eax, 0xff
dec eax
cmp eax, 4
ja case.default.0x462dab
jmp dword [eax*4 + 0x463c68]
mov bl, 1
lea ecx, [esp + 0x2c]
inc esi
call fcn.00475d00
cmp si, ax
jge 0x462dc7
jmp 0x462d96
xor bl, bl
mov byte [esp + 0x1e], bl
mov al, byte [esp + 0x16]
test al, al
je case.0x462e05.2
mov al, byte [esp + 0x32]
test al, al
je case.0x462e05.2
lea ecx, [esp + 0x2c]
mov byte [esp + 0x16], 1
xor esi, esi
call fcn.00475d00
test ax, ax
jle 0x462e27
push esi
lea ecx, [esp + 0x30]
call fcn.00475c70
and eax, 0xff
dec eax
cmp eax, 4
ja case.default.0x462e05
jmp dword [eax*4 + 0x463c7c]
mov byte [esp + 0x16], 1
lea ecx, [esp + 0x2c]
inc esi
call fcn.00475d00
cmp si, ax
jge 0x462e27
jmp 0x462df0
mov byte [esp + 0x16], 0
mov al, byte [esp + 0x17]
test al, al
je case.0x462e61.2
mov al, byte [esp + 0x31]
test al, al
je case.0x462e61.2
lea ecx, [esp + 0x2c]
mov byte [esp + 0x17], 1
xor esi, esi
call fcn.00475d00
test ax, ax
jle 0x462e83
push esi
lea ecx, [esp + 0x30]
call fcn.00475c70
and eax, 0xff
dec eax
cmp eax, 4
ja case.default.0x462e61
jmp dword [eax*4 + 0x463c90]
mov byte [esp + 0x17], 1
lea ecx, [esp + 0x2c]
inc esi
call fcn.00475d00
cmp si, ax
jge 0x462e83
jmp 0x462e4c
mov byte [esp + 0x17], 0
mov al, byte [esp + 0x14]
test al, al
je case.0x462ebd.4
mov al, byte [esp + 0x2b]
test al, al
je case.0x462ebd.4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x14], 1
xor esi, esi
call fcn.00475d00
test ax, ax
jle 0x462edf
push esi
lea ecx, [esp + 0x30]
call fcn.00475c70
and eax, 0xff
dec eax
cmp eax, 4
ja case.default.0x462ebd
jmp dword [eax*4 + 0x463ca4]
mov byte [esp + 0x14], 1
lea ecx, [esp + 0x2c]
inc esi
call fcn.00475d00
cmp si, ax
jge 0x462edf
jmp 0x462ea8
mov byte [esp + 0x14], 0
mov al, byte [esp + 0x15]
test al, al
je case.0x462f19.5
mov al, byte [esp + 0x2a]
test al, al
je case.0x462f19.5
lea ecx, [esp + 0x2c]
mov byte [esp + 0x15], 1
xor esi, esi
call fcn.00475d00
test ax, ax
jle 0x462f3b
push esi
lea ecx, [esp + 0x30]
call fcn.00475c70
and eax, 0xff
dec eax
cmp eax, 4
ja case.default.0x462f19
jmp dword [eax*4 + 0x463cb8]
mov byte [esp + 0x15], 1
lea ecx, [esp + 0x2c]
inc esi
call fcn.00475d00
cmp si, ax
jge 0x462f3b
jmp 0x462f04
mov byte [esp + 0x15], 0
test bl, bl
jne 0x46304c
mov al, byte [esp + 0x16]
test al, al
jne 0x46304c
mov al, byte [esp + 0x17]
test al, al
jne 0x46304c
mov al, byte [esp + 0x14]
test al, al
jne 0x46304c
mov al, byte [esp + 0x15]
test al, al
jne 0x46304c
jmp 0x462f79
mov bl, byte [esp + 0x1e]
lea esi, [ebp + 0x1c]
push 7
mov ecx, esi
call fcn.00475c70
add al, 7
lea ecx, [esp + 0x34]
push eax
push 7
call fcn.00475c80
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
sub esp, 0x10
lea edx, [esp + 0x4f]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
push str.UINFO.DB
mov byte [esp + 0x174], 0xd
call fcn.0041b350
mov ecx, dword [0x4c4560]
lea eax, [esp + 0x60]
push eax
mov byte [esp + 0x170], 0xa
call fcn.0042cec0
test ax, ax
je 0x46304c
push 0
push 1
push ecx
lea edi, [ebp + 0x18]
mov ecx, esp
mov dword [esp + 0x24], esp
push edi
call fcn.00475910
push 9
lea ecx, [esp + 0x5c]
mov byte [esp + 0x168], 0xe
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00475910
mov ecx, 0x4c45b8
mov byte [esp + 0x168], 0xa
call fcn.0047aa50
jmp 0x462b23
push ecx
mov edi, 1
mov ecx, esp
mov dword [esp + 0x1c], esp
push edi
push 0x4c4764
call fcn.004759a0
jmp 0x463aba
mov bl, byte [esp + 0x1e]
push 0
push 0
sub esp, 0x10
lea eax, [ebp + 0x18]
mov esi, esp
mov dword [esp + 0x30], esp
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
mov byte [esp + 0x180], 0xf
mov esi, esp
mov dword [esp + 0x4c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push 6
push 0x4bcc10
call fcn.004759a0
push esi
call fcn.00477540
add esp, 8
mov ecx, 0x4c45b8
mov byte [esp + 0x180], 0xa
call fcn.0047a9a0
cmp byte [0x4c4565], 0x12
je 0x4630cc
mov ecx, dword [0x4c4548]
call fcn.004421f0
cmp ax, 1
jl 0x463af1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0
call fcn.00475930
lea esi, [ebp + 0x20]
mov ecx, esi
call fcn.00475ae0
mov cl, byte [0x4c4569]
push ecx
mov ecx, esi
call fcn.00475ce0
mov edi, 5
push 0
mov ecx, esi
call fcn.00475ce0
dec edi
jne 0x4630f7
cmp bl, 1
jne 0x463205
push 1
push 1
mov ecx, esi
call fcn.00475c80
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 3
push 0x4bcc30
call fcn.004759a0
lea ecx, [esp + 0x24]
call fcn.00475ae0
mov al, byte [0x4c4569]
mov ebx, dword [esp + 0x44]
cmp al, 1
mov ebp, 1
jb 0x463209
push ebp
push 2
lea ecx, [esp + 0x28]
call fcn.00475c80
push 0x4c4538
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x4631f1
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 0x11
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 5
jne 0x463af1
xor edi, edi
lea eax, [edi + 2]
lea ecx, [esp + 0x10]
push eax
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 0xf
jl 0x4631d5
movzx cx, byte [0x4c4569]
inc ebp
cmp bp, cx
jle 0x463149
jmp 0x463209
mov ebx, dword [esp + 0x44]
cmp byte [esp + 0x16], 1
jne 0x463435
push 1
push 2
mov ecx, esi
call fcn.00475c80
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 4
push 0x4bcc28
call fcn.004759a0
lea ecx, [esp + 0x24]
call fcn.00475ae0
mov al, byte [0x4c4569]
mov ebp, 1
cmp al, 1
jb 0x463435
push ebp
push 2
lea ecx, [esp + 0x28]
call fcn.00475c80
push 0
push 3
lea ecx, [esp + 0x28]
call fcn.00475c80
push 0x3e8
call fcn.00439bd0
add esp, 4
lea edx, [esp + 0x20]
push 0x4c4538
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x46333e
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 0x13
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0x10
jne 0x463af1
push 2
lea ecx, [esp + 0x14]
call fcn.00475c70
movzx ax, al
cmp ax, bp
jne 0x463af1
push 3
lea ecx, [esp + 0x14]
call fcn.00475c70
test al, al
jne 0x463af1
xor edi, edi
lea ecx, [edi + 4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 0xf
jl 0x463322
push 1
push 3
lea ecx, [esp + 0x28]
call fcn.00475c80
push 0x3e8
call fcn.00439bd0
add esp, 4
lea edx, [esp + 0x20]
push 0x4c4538
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x463423
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 0x13
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0x10
jne 0x463af1
push 2
lea ecx, [esp + 0x14]
call fcn.00475c70
movzx ax, al
cmp ax, bp
jne 0x463af1
push 3
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 1
jne 0x463af1
xor edi, edi
lea ecx, [edi + 4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 0xf
jl 0x463407
movzx dx, byte [0x4c4569]
inc ebp
cmp bp, dx
jle 0x46324d
cmp byte [esp + 0x17], 1
jne 0x4635eb
push 1
push 3
mov ecx, esi
call fcn.00475c80
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 2
push 0x4bcc24
call fcn.004759a0
lea ecx, [esp + 0x24]
call fcn.00475ae0
push 0x3e8
call fcn.00439bd0
add esp, 4
lea eax, [esp + 0x20]
push 0x4c4538
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x463510
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 0x27
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0x11
jne 0x463af1
xor edi, edi
lea ecx, [edi + 2]
push ecx
lea ecx, [esp + 0x14]
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 0x25
jl 0x4634f4
cmp byte [esp + 0x3a], 1
jne 0x4635eb
push 3
push 3
mov ecx, esi
call fcn.00475c80
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 2
push 0x4bcc20
call fcn.004759a0
lea ecx, [esp + 0x24]
call fcn.00475ae0
push 0x3e8
call fcn.00439bd0
add esp, 4
lea edx, [esp + 0x20]
push 0x4c4538
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x4635eb
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 0x27
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0x1c
jne 0x463af1
xor edi, edi
lea eax, [edi + 2]
lea ecx, [esp + 0x10]
push eax
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 0x25
jl 0x4635cf
cmp byte [esp + 0x14], 1
jne 0x46379d
push 1
push 4
mov ecx, esi
call fcn.00475c80
push 0x3e8
call fcn.00439bd0
mov ecx, esp
mov dword [esp + 0x1c], esp
push 2
push 0x4bcbf8
call fcn.004759a0
lea ecx, [esp + 0x24]
call fcn.00475ae0
push 0x4c4538
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x4636c2
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 6
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0x12
jne 0x463af1
xor edi, edi
lea eax, [edi + 2]
lea ecx, [esp + 0x10]
push eax
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 4
jl 0x4636a6
cmp byte [esp + 0x1f], 1
jne 0x46379d
push 3
push 4
mov ecx, esi
call fcn.00475c80
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 2
push 0x4bcc1c
call fcn.004759a0
lea ecx, [esp + 0x24]
call fcn.00475ae0
push 0x3e8
call fcn.00439bd0
add esp, 4
lea edx, [esp + 0x20]
push 0x4c4538
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x46379d
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 6
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0x1d
jne 0x463af1
xor edi, edi
lea eax, [edi + 2]
lea ecx, [esp + 0x10]
push eax
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 4
jl 0x463781
cmp byte [esp + 0x15], 1
jne 0x463874
push 1
push 5
mov ecx, esi
call fcn.00475c80
push 0x3e8
call fcn.00439bd0
mov ecx, esp
mov dword [esp + 0x1c], esp
push 2
push 0x4bcc18
call fcn.004759a0
lea ecx, [esp + 0x24]
call fcn.00475ae0
push 0x4c4538
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00475910
mov ecx, ebx
call fcn.00447c50
cmp ax, 1
jne 0x463874
push 0
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
lea ecx, [esp + 0x10]
call fcn.00475d00
cmp ax, 6
jl 0x463af1
push 0
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xe9
jne 0x463af1
push 1
lea ecx, [esp + 0x14]
call fcn.00475c70
cmp al, 0xa
jne 0x463af1
xor edi, edi
lea eax, [edi + 2]
lea ecx, [esp + 0x10]
push eax
call fcn.00475c70
push eax
mov ecx, esi
call fcn.00475ce0
inc edi
cmp di, 4
jl 0x463858
lea ecx, [esp + 0x88]
push 0xc8
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x88]
push 0x5c
push edx
call fcn.00499210
mov byte [eax + 1], 0
xor eax, eax
mov dword [esp + 0x7c], eax
add esp, 8
mov dword [esp + 0x78], eax
lea ebp, [ebx + 0x1c]
mov dword [esp + 0x7c], eax
push 6
mov dword [esp + 0x84], eax
mov ecx, ebp
mov dword [esp + 0x88], eax
call fcn.00475c70
and eax, 0xff
mov ecx, ebp
push eax
push 5
call fcn.00475c70
and eax, 0xff
mov ecx, ebp
push eax
push 4
call fcn.00475c70
and eax, 0xff
mov ecx, ebp
push eax
push 3
call fcn.00475c70
and eax, 0xff
mov ecx, ebp
push eax
push 2
call fcn.00475c70
and eax, 0xff
lea ecx, [esp + 0x84]
push eax
push str._02X_02X_02X_02X_02X.dat
push ecx
call fcn.00498c63
lea edi, [esp + 0xa4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
lea eax, [esp + ecx + 0xa8]
push eax
call fcn.00498c63
lea ecx, [esp + 0xac]
push 0
push ecx
call fcn.004a3e26
add esp, 0x2c
test eax, eax
jne 0x463a38
push 7
mov ecx, ebp
call fcn.00475c70
add al, 8
lea ecx, [esp + 0x34]
push eax
push 7
call fcn.00475c80
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0x4f]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push str.UINFO.DB
mov byte [esp + 0x174], 0x10
call fcn.0041b350
lea ecx, [esp + 0x60]
mov byte [esp + 0x16c], 0xa
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
test ax, ax
je 0x463a38
push 0
push 4
push ecx
lea eax, [ebx + 0x18]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00475910
push 9
lea ecx, [esp + 0x5c]
mov byte [esp + 0x168], 0x11
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.00475910
mov ecx, 0x4c45b8
mov byte [esp + 0x168], 0xa
call fcn.0047aa50
cmp ax, 4
jne 0x463a28
push 6
lea ecx, [esp + 0x50]
mov edi, 1
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
jmp 0x463ab4
lea edx, [esp + 0x88]
push edx
call fcn.004991e1
add esp, 4
lea eax, [esp + 0x88]
push 0x4bcaa8
push eax
call fcn.004990e6
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x463a91
mov ecx, esi
mov byte [esp + 0x1f], 0
xor edi, edi
call fcn.00475d00
test ax, ax
jle 0x463a91
push edi
mov ecx, esi
call fcn.00475c70
push ebx
push 1
lea ecx, [esp + 0x27]
push 1
push ecx
mov byte [esp + 0x2f], al
call fcn.00498f6b
add esp, 0x10
mov ecx, esi
inc edi
call fcn.00475d00
cmp di, ax
jl 0x463a66
push ebx
call fcn.00498f15
add esp, 4
lea ecx, [esp + 0x160]
mov edi, 1
push 5
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x40]
call fcn.00475ae0
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00475910
mov ecx, dword [0x4c4560]
call fcn.0042d870
test ax, ax
je 0x463b33
mov edi, 1
push 0
lea ecx, [esp + 0x40]
jmp 0x463b1f
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
xor edi, edi
call fcn.00475910
mov ecx, dword [0x4c4560]
call fcn.0042d870
test ax, ax
je 0x463b33
mov edi, 1
push 0
lea ecx, [esp + 0x4c]
call fcn.00475c70
push eax
mov eax, dword [esp + 0x48]
push 7
lea ecx, [eax + 0x1c]
call fcn.00475c80
lea ecx, [esp + 0x48]
mov byte [esp + 0x158], 9
call fcn.00475a40
lea ecx, [esp + 0x3c]
mov byte [esp + 0x158], 8
call fcn.00475a40
lea ecx, [esp + 0x60]
mov byte [esp + 0x158], 7
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x158], 6
call fcn.00475a40
lea ecx, [esp + 0x20]
mov byte [esp + 0x158], 5
call fcn.00475a40
lea ecx, [esp + 0x34]
mov byte [esp + 0x158], 4
call fcn.00475a40
lea ecx, [esp + 0x2c]
mov byte [esp + 0x158], 3
call fcn.00475a40
lea ecx, [esp + 0x40]
mov byte [esp + 0x158], 2
call fcn.00475a40
lea ecx, [esp + 0x68]
mov byte [esp + 0x158], 1
call fcn.00475a40
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
cmp eax, ecx
mov byte [esp + 0x158], 0
mov ebx, ecx
mov esi, eax
je 0x463bf6
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, ebx
jne 0x463be4
mov eax, dword [esp + 0x50]
push eax
call fcn.00498130
mov esi, dword [esp + 0x168]
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x16c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x158], 0xffffffff
mov ebx, eax
je 0x463c41
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, ebx
jne 0x463c2c
mov esi, dword [esp + 0x164]
push esi
call fcn.00498130
mov ecx, dword [esp + 0x154]
add esp, 4
mov ax, di
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret 0x14