Function at 0x4b68ab
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov dword [ebp - 0x1c], eax
mov ebx, edx
test ebx, ebx
je case.0x4b6921.18
mov eax, ebx
call fcn.004b6437
mov esi, eax
movzx edx, byte [ebx]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
lea edx, [esi + 5]
mov eax, dword [ebp - 0x1c]
call fcn.004b27e0
movzx edx, byte [ebx + 1]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 2]
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov al, byte [ebx]
cmp al, 0x1c
ja 0x4b6928
test al, al
je case.0x4b6921.13
dec eax
cmp al, 0x1b
ja case.0x4b6921.13
movzx eax, al
jmp dword [eax*4 + 0x5eb840]
cmp al, 0xd0
jne case.0x4b6921.13
movzx edx, byte [ebx + 3]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 4]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [ebx + 8], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 7
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 0xc]
jmp 0x4b7193
mov edx, dword [ebx + 8]
xor eax, eax
test edx, edx
je 0x4b698c
mov eax, dword [edx + 4]
xor edx, edx
test eax, eax
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 0xc]
xor eax, eax
test edx, edx
je 0x4b69ac
mov eax, dword [edx + 4]
xor edx, edx
test eax, eax
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [ebx + 4], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [ebx + 0x10], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4b6c82
cmp dword [eax + 4], 0
je 0x4b6c82
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov eax, dword [ebx + 8]
test eax, eax
jne 0x4b6ca2
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4b6cdc
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x4b6a47
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x4b6d16
mov eax, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], 0
jne 0x4b6d73
test eax, eax
jne 0x4b6d77
xor eax, eax
jmp 0x4b75ee
mov edx, dword [ebx + 4]
jmp 0x4b6dc1
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov edx, dword [ebx + 8]
and edx, 1
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
shr edx, 1
and edx, 1
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
shr edx, 2
and edx, 1
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
shr edx, 3
and edx, 1
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
test byte [ebx + 8], 1
je 0x4b6b03
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [esp], 0x40
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x1c]
call fcn.004262df
test byte [ebx + 8], 2
je 0x4b6b19
mov edx, dword [ebx + 0x18]
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
test byte [ebx + 8], 4
je 0x4b6b38
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [esp], 0x40
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x1c]
call fcn.004262df
test byte [ebx + 8], 8
je 0x4b6b4e
mov edx, dword [ebx + 0x28]
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 0x2c]
jmp 0x4b6dc1
cmp dword [ebx + 0x10], 0
je 0x4b6b61
xor edi, edi
mov dword [ebx + 4], edi
xor edx, edx
cmp dword [ebx + 8], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, 1
cmp dword [ebx + 0x10], 0
jne 0x4b6b8b
xor edx, edx
cmp dword [ebx + 4], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 4]
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 5
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
test edx, edx
je 0x4b6bc8
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
jmp 0x4b6bdb
mov edx, dword [ebx + 0xc]
mov eax, dword [ebp - 0x1c]
call fcn.004b68ab
test eax, eax
jne 0x4b75ee
mov edx, dword [ebx + 0x10]
jmp 0x4b75de
movzx edx, byte [ebx + 3]
mov ecx, 3
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 5
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 4]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor esi, esi
movzx eax, byte [ebx + 4]
cmp esi, eax
jae case.0x4b6921.18
mov edx, dword [ebx + esi*4 + 8]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
inc esi
jmp 0x4b6c16
movzx edx, byte [ebx + 3]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor esi, esi
movzx eax, byte [ebx + 3]
cmp esi, eax
jae case.0x4b6921.18
mov edx, dword [ebx + esi*4 + 4]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
inc esi
jmp 0x4b6c49
mov edx, dword [ebx + 4]
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 8]
jmp 0x4b7193
cmp dword [ebx + 0x20], 0
jne 0x4b6a01
cmp dword [ebx + 0x1c], 0
jne 0x4b6a01
mov ecx, 1
xor edx, edx
jmp 0x4b6a0b
mov esi, dword [eax + 4]
test esi, esi
je 0x4b6a2d
mov ecx, 8
mov edx, esi
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edi, edi
mov eax, dword [ebx + 8]
mov edx, edi
call fcn.00425c8e
mov edx, eax
mov eax, dword [ebp - 0x1c]
call fcn.00595387
inc edi
cmp edi, esi
jne 0x4b6cbe
jmp 0x4b6a2d
mov esi, dword [eax + 4]
test esi, esi
je 0x4b6a38
mov ecx, 8
mov edx, esi
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edi, edi
mov eax, dword [ebx + 0xc]
mov edx, edi
call fcn.00425c8e
mov edx, eax
mov eax, dword [ebp - 0x1c]
call fcn.00595387
inc edi
cmp edi, esi
jne 0x4b6cf8
jmp 0x4b6a38
mov edi, dword [eax + 4]
test edi, edi
je 0x4b6a52
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 8
mov edx, edi
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 0x14]
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor esi, esi
mov eax, dword [ebx + 0x18]
mov edx, esi
call fcn.00425c8e
mov edx, eax
test eax, eax
je 0x4b6d6c
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
inc esi
cmp esi, edi
jne 0x4b6d54
jmp 0x4b6db3
test eax, eax
je 0x4b6d96
mov ecx, 8
mov edx, 2
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x1c]
call fcn.00595387
jmp 0x4b6db3
mov ecx, 8
mov edx, 0xfe
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov edx, dword [ebx + 0x24]
mov eax, dword [ebp - 0x1c]
call fcn.004b68ab
mov edx, dword [ebx + 0x28]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
jmp case.0x4b6921.18
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
movzx edx, byte [ebx + 8]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 9]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov eax, dword [ebx + 0xc]
xor edx, edx
test eax, eax
je 0x4b6e07
mov edx, dword [eax + 4]
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edi, edi
mov eax, dword [ebx + 0xc]
test eax, eax
je case.0x4b6921.18
cmp edi, dword [eax + 4]
jae case.0x4b6921.18
mov edx, edi
call fcn.00425c8e
mov esi, eax
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov edx, dword [esi + 8]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov edx, dword [esi + 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov edx, dword [esi + 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
inc edi
jmp 0x4b6e16
mov ebx, dword [ebx + 4]
jmp 0x4b68b9
mov edx, dword [ebx + 4]
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 7
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
jmp case.0x4b6921.18
xor esi, esi
mov eax, dword [ebx]
test eax, eax
je case.0x4b6921.18
cmp esi, dword [eax + 4]
jae case.0x4b6921.18
mov edx, esi
call fcn.00425c8e
mov edx, eax
mov eax, dword [ebp - 0x1c]
call fcn.00561b53
inc esi
jmp 0x4b6e9b
movzx edx, byte [ebx + 3]
mov ecx, 3
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp word [ebx + 4], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, word [ebx + 4]
mov ecx, 0x10
test dx, dx
je case.0x4b6921.18
jmp 0x4b6e8c
xor edx, edx
cmp word [ebx + 6], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 5
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, word [ebx + 4]
mov ecx, 0xa
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, word [ebx + 6]
test dx, dx
je 0x4b6f5d
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
jmp 0x4b6fea
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x1c]
call fcn.00561b53
jmp case.0x4b6921.18
mov edx, dword [ebx + 4]
jmp 0x4b6fea
xor edx, edx
cmp dword [ebx + 4], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 7
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
cmp dword [ebx + 4], 0
je 0x4b6fd6
movzx edx, word [ebx + 4]
mov ecx, 0xa
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 6
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, word [ebx + 6]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 8]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 0xc]
mov ecx, 0x20
jmp 0x4b6e8c
xor edx, edx
cmp dword [ebx + 4], 0
setne dl
jmp 0x4b6e78
mov eax, dword [ebx + 4]
xor esi, esi
mov dword [ebp - 0x28], esi
test eax, eax
je 0x4b7014
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], eax
mov ecx, 0x10
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov edi, dword [ebp - 0x28]
cmp dword [ebp - 0x20], edi
je case.0x4b6921.18
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x20]
call fcn.00425c8e
mov edi, eax
lea edx, [eax + 3]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.00427720
lea edx, [edi + 0x13]
mov ecx, 5
mov eax, dword [ebp - 0x1c]
call fcn.00427720
mov eax, dword [edi + 0x18]
xor edx, edx
mov dword [ebp - 0x2c], edx
test eax, eax
je 0x4b7074
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
mov ecx, 0x10
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor esi, esi
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x2c]
cmp dword [ebp - 0x24], esi
je 0x4b7120
mov eax, dword [edi + 0x18]
mov edx, dword [ebp - 0x24]
call fcn.00425c8e
mov esi, eax
xor edx, edx
cmp dword [eax + 0x10], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 7
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [esi + 0x10]
test edx, edx
je 0x4b70d8
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
jmp 0x4b7118
lea edx, [esi + 3]
mov ecx, 5
mov eax, dword [ebp - 0x1c]
call fcn.00427720
movzx edx, byte [esi + 8]
mov ecx, 2
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 6
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [esi + 0xc]
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
inc dword [ebp - 0x24]
jmp 0x4b7089
inc dword [ebp - 0x20]
jmp 0x4b7029
xor edx, edx
cmp dword [ebx + 4], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [ebx + 8], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 6
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 4]
test edx, edx
je 0x4b7177
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
test edx, edx
je 0x4b718b
mov ecx, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 0xc]
jmp 0x4b6dc1
mov ecx, 8
jmp 0x4b6e8c
movzx edx, byte [ebx + 3]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 4]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 5]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 6]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov eax, dword [ebx + 8]
xor edi, edi
test eax, eax
je 0x4b71ed
mov edi, dword [eax + 4]
mov ecx, 8
mov edx, edi
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], edi
je 0x4b72a9
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x20]
call fcn.00425c8e
mov esi, eax
lea edx, [eax + 3]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.00427720
movzx edx, byte [esi + 0x13]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [esi + 0x1c], 0
sete dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 7
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [esi + 0x1c]
test edx, edx
je 0x4b726e
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
jmp 0x4b72a1
movzx edx, byte [esi + 0x14]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, word [esi + 0x16]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, word [esi + 0x18]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
inc dword [ebp - 0x20]
jmp 0x4b7201
xor edx, edx
cmp dword [ebx + 0x14], 0
sete dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 7
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
cmp dword [ebx + 0x14], 0
je 0x4b730a
movzx edx, word [ebx + 0x10]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor esi, esi
movzx eax, word [ebx + 0x10]
cmp esi, eax
jae case.0x4b6921.18
mov eax, dword [ebx + 0x14]
movzx edx, word [eax + esi*2]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
inc esi
jmp 0x4b72e7
mov eax, dword [ebx + 0xc]
xor edx, edx
mov dword [ebp - 0x24], edx
test eax, eax
je 0x4b731c
mov eax, dword [eax + 4]
mov dword [ebp - 0x24], eax
mov ecx, 8
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor eax, eax
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x24]
cmp dword [ebp - 0x20], edi
je case.0x4b6921.18
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x20]
call fcn.00425c8e
mov esi, eax
movzx edx, byte [eax + 3]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [esi + 4]
mov ecx, 3
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 5
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [esi + 5]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, 1
cmp dword [esi + 8], 0
jne 0x4b73a0
xor edx, edx
cmp dword [esi + 0xc], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 7
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov eax, dword [esi + 8]
test eax, eax
jne 0x4b73cd
cmp dword [esi + 0xc], 0
je 0x4b744f
xor edx, edx
test eax, eax
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [esi + 0xc], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 6
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
cmp dword [esi + 8], 0
jne 0x4b741d
mov edx, dword [esi + 0xc]
test edx, edx
je 0x4b744f
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
jmp 0x4b744f
movzx edx, word [esi + 6]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edi, edi
movzx eax, word [esi + 6]
cmp edi, eax
jae 0x4b740c
mov eax, dword [esi + 8]
movzx edx, word [eax + edi*2]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
inc edi
jmp 0x4b7430
inc dword [ebp - 0x20]
jmp 0x4b7331
movzx edx, byte [ebx + 3]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 4]
mov ecx, 4
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [ebx + 0x24], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
cmp byte [ebx + 3], 1
jne 0x4b7508
cmp byte [ebx], 2
jne 0x4b74d5
movzx edx, byte [ebx + 5]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 6]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
mov ecx, 0x20
jmp 0x4b7500
movzx edx, word [ebx + 0xc]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, word [ebx + 0xe]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 0x10]
mov ecx, 8
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov al, byte [ebx + 4]
cmp al, 2
je 0x4b751d
ja 0x4b7517
test al, al
jne 0x4b753d
jmp 0x4b751d
cmp al, 3
je 0x4b753d
jmp 0x4b754e
mov edx, dword [ebx + 0x14]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00427720
jmp 0x4b754e
movzx edx, word [ebx + 0x1c]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
cmp dword [ebx + 0x24], 0
je case.0x4b6921.18
mov edx, dword [ebx + 0x20]
mov ecx, 0x10
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov eax, dword [ebp - 0x1c]
call fcn.00427720
jmp case.0x4b6921.18
cmp dword [ebx + 8], 0
je 0x4b7585
mov byte [ebx + 3], 0
movzx edx, byte [ebx + 3]
mov ecx, 2
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
movzx edx, byte [ebx + 4]
mov ecx, 2
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
xor edx, edx
cmp dword [ebx + 0xc], 0
setne dl
mov ecx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.004262ac
mov edx, dword [ebx + 8]
test edx, edx
je 0x4b75db
mov eax, dword [ebp - 0x1c]
call fcn.004b28ac
mov edx, dword [ebx + 0xc]
test edx, edx
jne 0x4b6dc1
jmp case.0x4b6921.18
or eax, 0xffffffff
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret