Function at 0x5d8340
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov ecx, 0x19
xor eax, eax
mov edi, ebx
push eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
push eax
call fcn.0040ac50
add esp, 8
cmp eax, 1
jge 0x5d83f4
push 0
push 0xa
call fcn.0040ac50
add esp, 8
cmp eax, 7
jne 0x5d83eb
mov esi, 0xfd368
mov ecx, dword [0x7fd504]
test ecx, ecx
jne 0x5d83bb
push 0x18f
push 0x797a90
push str.g_pItemType
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor ecx, ecx
push ebx
push esi
call fcn.004f0bd0
test al, al
jne 0x5d8a56
push 0x222
push 0x7bfb4c
push str.ItemType____GetInfo_idItemType__info_
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 6
jge 0x5d8414
push 0
push 4
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d83eb
mov esi, 0xfd35e
jmp 0x5d838e
cmp eax, 0xb
jge 0x5d8434
push 0
push 6
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d83eb
mov esi, 0xfd372
jmp 0x5d838e
cmp eax, 0x10
jge 0x5d8454
push 0
push 6
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d83eb
mov esi, 0xfd746
jmp 0x5d838e
cmp eax, 0x15
jge 0x5d8474
push 0
push 6
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d83eb
mov esi, 0xfd764
jmp 0x5d838e
cmp eax, 0x1a
jge 0x5d8498
push 0
push 6
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d83eb
mov esi, 0xfd782
jmp 0x5d838e
cmp eax, 0x1f
jge 0x5d84bc
push 0
push 6
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d83eb
mov esi, 0xfd7a0
jmp 0x5d838e
cmp eax, 0x24
jge 0x5d84e0
push 0
push 6
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d83eb
mov esi, 0xfd7be
jmp 0x5d838e
cmp eax, 0x38
jge 0x5d8509
push 0
push 0x64
mov esi, 0x107ebc
call fcn.0040ac50
add esp, 8
cmp eax, 2
jg 0x5d838e
mov esi, 0x107ea8
jmp 0x5d838e
cmp eax, 0x4c
jge 0x5d8541
push 0
push 0x64
mov esi, 0x107f84
call fcn.0040ac50
add esp, 8
cmp eax, 3
jge 0x5d852e
mov esi, 0x107f70
jmp 0x5d838e
cmp eax, 5
jge 0x5d838e
mov esi, 0x108286
jmp 0x5d838e
cmp eax, 0x9c
jge 0x5d83eb
push 0
push 2
call fcn.0040ac50
mov esi, eax
add esp, 8
test esi, esi
jne 0x5d8567
mov dword [ebp + 0xc], 5
jmp 0x5d8575
mov eax, esi
dec eax
neg eax
sbb eax, eax
and eax, 2
inc eax
mov dword [ebp + 0xc], eax
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 4
jg 0x5d8604
mov ecx, dword [ebp + 0x10]
mov edi, 0xb
mov dword [ebp + 8], edi
mov dword [ebp - 0x28], 0x19
mov dword [ebp - 0x24], 0x1e
mov dword [ebp - 0x20], 0x28
mov dword [ebp - 0x1c], 0x2d
mov dword [ebp - 0x18], 0x32
mov dword [ebp - 0x14], 0x3c
mov dword [ebp - 0x10], 0x41
mov dword [ebp - 0xc], 0x4b
mov dword [ebp - 8], 0x50
mov dword [ebp - 4], 0x55
xor esi, esi
lea eax, [ebp - 0x28]
cmp ecx, dword [eax]
jl 0x5d85e9
inc esi
add eax, 4
cmp esi, 0xa
jl 0x5d85dc
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 0x1e
jge 0x5d8902
dec esi
jmp 0x5d8908
cmp eax, 9
jg 0x5d8687
mov ecx, dword [ebp + 0x10]
mov edi, 0xc
mov dword [ebp + 8], edi
mov dword [ebp - 0x28], 0x19
mov dword [ebp - 0x24], 0x21
mov dword [ebp - 0x20], 0x27
mov dword [ebp - 0x1c], 0x2d
mov dword [ebp - 0x18], 0x36
mov dword [ebp - 0x14], 0x3c
mov dword [ebp - 0x10], 0x45
mov dword [ebp - 0xc], 0x4b
mov dword [ebp - 8], 0x55
mov dword [ebp - 4], 0x5b
xor esi, esi
lea eax, [ebp - 0x28]
cmp ecx, dword [eax]
jl 0x5d866c
inc esi
add eax, 4
cmp esi, 0xa
jl 0x5d865f
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 0x1e
jge 0x5d8925
dec esi
jmp 0x5d892b
cmp eax, 0x1d
jg 0x5d870a
mov ecx, dword [ebp + 0x10]
mov edi, 0xd
mov dword [ebp + 8], edi
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x24], 0x19
mov dword [ebp - 0x20], 0x23
mov dword [ebp - 0x1c], 0x2d
mov dword [ebp - 0x18], 0x37
mov dword [ebp - 0x14], 0x3c
mov dword [ebp - 0x10], 0x46
mov dword [ebp - 0xc], 0x4b
mov dword [ebp - 8], 0x55
mov dword [ebp - 4], 0x5d
xor esi, esi
lea eax, [ebp - 0x28]
cmp ecx, dword [eax]
jl 0x5d86ef
inc esi
add eax, 4
cmp esi, 0xa
jl 0x5d86e2
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 0x1e
jge 0x5d8941
dec esi
jmp 0x5d8947
cmp eax, 0x31
jg 0x5d878d
mov ecx, dword [ebp + 0x10]
mov edi, 0xe
mov dword [ebp + 8], edi
mov dword [ebp - 0x28], 0x1c
mov dword [ebp - 0x24], 0x20
mov dword [ebp - 0x20], 0x2b
mov dword [ebp - 0x1c], 0x30
mov dword [ebp - 0x18], 0x35
mov dword [ebp - 0x14], 0x3f
mov dword [ebp - 0x10], 0x44
mov dword [ebp - 0xc], 0x4e
mov dword [ebp - 8], 0x53
mov dword [ebp - 4], 0x58
xor esi, esi
lea eax, [ebp - 0x28]
cmp ecx, dword [eax]
jl 0x5d8772
inc esi
add eax, 4
cmp esi, 0xa
jl 0x5d8765
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 0x1e
jge 0x5d895d
dec esi
jmp 0x5d8963
cmp eax, 0x40
jg 0x5d8810
mov ecx, dword [ebp + 0x10]
mov edi, 0x10
mov dword [ebp + 8], edi
mov dword [ebp - 0x28], 0x1b
mov dword [ebp - 0x24], 0x22
mov dword [ebp - 0x20], 0x2a
mov dword [ebp - 0x1c], 0x2f
mov dword [ebp - 0x18], 0x39
mov dword [ebp - 0x14], 0x40
mov dword [ebp - 0x10], 0x48
mov dword [ebp - 0xc], 0x4d
mov dword [ebp - 8], 0x55
mov dword [ebp - 4], 0x5b
xor esi, esi
lea eax, [ebp - 0x28]
cmp ecx, dword [eax]
jl 0x5d87f5
inc esi
add eax, 4
cmp esi, 0xa
jl 0x5d87e8
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 0x1e
jge 0x5d8979
dec esi
jmp 0x5d897f
test esi, esi
mov dword [ebp + 0xc], 0
jne 0x5d88d5
mov edi, 0x2c
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 8], edi
mov dword [ebp - 0x48], 0xe
mov dword [ebp - 0x44], 0x12
mov dword [ebp - 0x40], 0x15
mov dword [ebp - 0x3c], 0x19
mov dword [ebp - 0x38], 0x1f
mov dword [ebp - 0x34], 0x24
mov dword [ebp - 0x30], 0x29
mov dword [ebp - 0x2c], 0x2d
mov dword [ebp - 0x28], 0x33
mov dword [ebp - 0x24], 0x38
mov dword [ebp - 0x20], 0x3c
mov dword [ebp - 0x1c], 0x42
mov dword [ebp - 0x18], 0x47
mov dword [ebp - 0x14], 0x4b
mov dword [ebp - 0x10], 0x51
mov dword [ebp - 0xc], 0x55
mov dword [ebp - 8], 0x5a
mov dword [ebp - 4], 0x5c
xor esi, esi
lea eax, [ebp - 0x48]
cmp ecx, dword [eax]
jl 0x5d88ba
inc esi
add eax, 4
cmp esi, 0x12
jl 0x5d88ad
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 0x1e
jge 0x5d8995
dec esi
jmp 0x5d899b
cmp esi, 1
jne 0x5d88f8
push 0
push 0x64
call fcn.0040ac50
add esp, 8
xor ecx, ecx
cmp eax, 0x32
setge cl
add ecx, 0x29
mov edi, ecx
jmp 0x5d8824
mov edi, 0x31
jmp 0x5d8824
cmp eax, 0x5a
jl 0x5d8908
inc esi
xor edx, edx
test esi, esi
setl dl
dec edx
and esi, edx
cmp esi, 9
jle 0x5d89af
mov esi, 9
jmp 0x5d89af
cmp eax, 0x5a
jl 0x5d892b
inc esi
xor eax, eax
test esi, esi
setl al
dec eax
and esi, eax
cmp esi, 9
jle 0x5d89af
mov esi, 9
jmp 0x5d89af
cmp eax, 0x5a
jl 0x5d8947
inc esi
xor ecx, ecx
test esi, esi
setl cl
dec ecx
and esi, ecx
cmp esi, 9
jle 0x5d89af
mov esi, 9
jmp 0x5d89af
cmp eax, 0x5a
jl 0x5d8963
inc esi
xor edx, edx
test esi, esi
setl dl
dec edx
and esi, edx
cmp esi, 9
jle 0x5d89af
mov esi, 9
jmp 0x5d89af
cmp eax, 0x5a
jl 0x5d897f
inc esi
xor eax, eax
test esi, esi
setl al
dec eax
and esi, eax
cmp esi, 9
jle 0x5d89af
mov esi, 9
jmp 0x5d89af
cmp eax, 0x5a
jl 0x5d899b
inc esi
xor ecx, ecx
test esi, esi
setl cl
dec ecx
and esi, ecx
cmp esi, 0x11
jle 0x5d89af
mov esi, 0x11
push 0
push 2
call fcn.0040ac50
add esp, 8
cmp eax, 1
je 0x5d8a5f
mov eax, dword [ebp + 0xc]
lea edx, [edi + edi*4]
lea eax, [eax + edx*2]
imul eax, eax, 0x64
add eax, esi
lea esi, [eax + eax*4]
mov eax, dword [0x7fd504]
shl esi, 1
test eax, eax
jne 0x5d8a03
push 0x18f
push 0x797a90
push str.g_pItemType
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor eax, eax
push ebx
push esi
mov ecx, eax
call fcn.004f0bd0
test al, al
jne 0x5d8a1a
push 0x187
jmp 0x5d83cf
xor eax, eax
mov dword [ebx + 4], esi
push eax
push 0x28
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x18], 1
call fcn.0040ac50
mov ecx, eax
mov eax, 0x51eb851f
add ecx, 0x1e
add esp, 8
imul ecx, dword [ebx + 0x14]
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [ebx + 0x10], edx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
push edi
push 0x7d0
call fcn.0040ac50
add esp, 8
cmp eax, 3
jge 0x5d8a7b
mov edi, 4
jmp 0x5d8aa3
cmp eax, 0x17
jge 0x5d8a87
mov edi, 3
jmp 0x5d8aa3
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 0xa
jl 0x5d8aa3
xor edx, edx
cmp eax, 0x14
setl dl
inc edx
mov edi, edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
add eax, esi
lea edx, [eax + eax*4]
mov eax, dword [0x7fd504]
test eax, eax
lea esi, [edi + edx*2]
jne 0x5d8ae6
push 0x18f
push 0x797a90
push str.g_pItemType
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor eax, eax
push ebx
push esi
mov ecx, eax
call fcn.004f0bd0
test al, al
jne 0x5d8afd
push 0x1b3
jmp 0x5d83cf
xor edi, edi
mov dword [ebx + 4], esi
push edi
push 0x28
mov dword [ebx], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x18], 1
call fcn.0040ac50
mov ecx, eax
mov eax, 0x51eb851f
add ecx, 0x1e
push edi
imul ecx, dword [ebx + 0x14]
imul ecx
sar edx, 5
mov eax, edx
push 0x3e8
shr eax, 0x1f
add edx, eax
mov dword [ebx + 0x10], edx
call fcn.0040ac50
mov ecx, dword [ebp + 8]
add esp, 0x10
add ecx, 0xffffffd7
mov esi, 0xff
cmp ecx, 8
ja case.0x5d8b5c.42
xor edx, edx
mov dl, byte [ecx + 0x5d8cfc]
jmp dword [edx*4 + 0x5d8cf4]
cmp eax, 0x1e
jge 0x5d8b72
jmp 0x5d8b6f
cmp eax, 2
jge 0x5d8b72
mov dword [ebx + 0x24], esi
cmp dword [ebx + 0x24], esi
jne 0x5d8b8b
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d8b8b
mov dword [ebx + 0x28], esi
push 0
push 0x14
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d8bb8
mov esi, eax
push 0
push 4
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d8bb5
inc esi
cmp esi, 9
jl 0x5d8b9e
mov dword [ebx + 0x34], esi
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d8bff
push 0
push 0x2710
call fcn.0040ac50
add esp, 8
cmp eax, 1
jge 0x5d8be3
mov byte [ebx + 0x44], 8
jmp 0x5d8bff
cmp eax, 0x65
jge 0x5d8bee
mov byte [ebx + 0x44], 5
jmp 0x5d8bff
cmp eax, 0xc1d
jge 0x5d8bfb
mov byte [ebx + 0x44], 3
jmp 0x5d8bff
mov byte [ebx + 0x44], 2
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d8c46
push 0
push 0x2710
call fcn.0040ac50
add esp, 8
cmp eax, 1
jge 0x5d8c2a
mov byte [ebx + 0x45], 8
jmp 0x5d8c46
cmp eax, 0x65
jge 0x5d8c35
mov byte [ebx + 0x45], 5
jmp 0x5d8c46
cmp eax, 0xc1d
jge 0x5d8c42
mov byte [ebx + 0x45], 3
jmp 0x5d8c46
mov byte [ebx + 0x45], 2
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d8c8d
push 0
push 0x2710
call fcn.0040ac50
add esp, 8
cmp eax, 1
jge 0x5d8c71
mov byte [ebx + 0x46], 8
jmp 0x5d8c8d
cmp eax, 0x65
jge 0x5d8c7c
mov byte [ebx + 0x46], 5
jmp 0x5d8c8d
cmp eax, 0xc1d
jge 0x5d8c89
mov byte [ebx + 0x46], 3
jmp 0x5d8c8d
mov byte [ebx + 0x46], 2
push 0
push 0x64
call fcn.0040ac50
add esp, 8
cmp eax, 1
jne 0x5d8ce9
push 0
push 0x2710
call fcn.0040ac50
add esp, 8
cmp eax, 1
jge 0x5d8cbf
pop edi
mov byte [ebx + 0x47], 8
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x65
jge 0x5d8cd1
pop edi
mov byte [ebx + 0x47], 5
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xc1d
jge 0x5d8ce5
pop edi
mov byte [ebx + 0x47], 3
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebx + 0x47], 2
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
add al, ch
cli
pushfd
adc dword [eax], eax
pop ecx
ret