Function at 0x44b6a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a084a
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x210
mov eax, dword [0x51a074]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x6c], ecx
mov edx, dword [ecx + 0x434]
mov ecx, dword [ecx + 0x438]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], ecx
lea eax, [edx + 0x40]
cmp eax, ecx
ja 0x44d65f
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx]
mov esi, 0x5a4d
movups xmmword [ebp - 0xd8], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ebp - 0xc8], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ebp - 0xb8], xmm0
cmp ax, si
jne 0x44d67b
mov esi, dword [ebp - 0xac]
add esi, edx
lea eax, [esi + 0xf8]
cmp eax, ecx
ja 0x44d697
mov ecx, 0x3e
lea edi, [ebp - 0x220]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x21c]
shr eax, 0x10
test ax, ax
je 0x44d628
cmp ax, 0x64
ja 0x44d628
mov ecx, dword [ebp - 0xac]
add ecx, 0xf8
add ecx, edx
lea eax, [ecx + 0x28]
cmp eax, dword [ebp - 0x7c]
ja 0x44d6b3
movzx eax, word [ebp - 0x21a]
mov edx, ecx
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
cmp ecx, edi
je 0x44b7bf
nop
mov esi, dword [edx + 0xc]
cmp dword [ebp - 0x138], esi
jb 0x44b7b8
mov eax, dword [edx + 8]
add eax, esi
cmp dword [ebp - 0x138], eax
jb 0x44b7d8
add edx, 0x28
cmp edx, edi
jne 0x44b7a0
push str.PE_section_containing_CLI_header_not_found
lea ecx, [ebp - 0x68]
call fcn.00465f50
mov dword [ebp - 4], 5
jmp 0x44d930
cmp edx, edi
je 0x44b7bf
mov eax, dword [edx + 0x14]
mov edx, dword [ebp - 0x80]
sub eax, esi
add eax, dword [ebp - 0x138]
add edx, eax
lea eax, [edx + 0x48]
cmp eax, dword [ebp - 0x7c]
ja 0x44d6cf
movups xmm0, xmmword [edx + 0x10]
movups xmm1, xmmword [edx]
movups xmmword [ebp - 0xe0], xmm0
movups xmm0, xmmword [edx + 0x20]
movd eax, xmm1
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ebp - 0xf0], xmm1
movups xmmword [ebp - 0xc0], xmm0
movq xmm0, qword [edx + 0x40]
movq qword [ebp - 0xb0], xmm0
cmp eax, 0x48
jne 0x44d6eb
mov esi, dword [ebp - 0xe8]
mov edx, dword [ecx + 0xc]
cmp esi, edx
jb 0x44b853
mov eax, dword [ecx + 8]
add eax, edx
cmp esi, eax
jb 0x44b873
add ecx, 0x28
cmp ecx, edi
jne 0x44b843
push str.PE_section_containing_CLI_metadata_not_found
lea ecx, [ebp - 0x68]
call fcn.00465f50
mov dword [ebp - 4], 8
jmp 0x44d930
cmp ecx, edi
je 0x44b85a
mov ecx, dword [ecx + 0x14]
sub ecx, edx
add ecx, esi
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [esi + 0x434]
mov edi, dword [esi + 0x438]
mov dword [ebp - 0x84], edi
lea eax, [edx + 4]
add eax, ecx
cmp eax, edi
ja 0x44d707
cmp dword [edx + ecx], 0x424a5342
jne 0x44d723
lea eax, [edx + 0x10]
add eax, ecx
cmp eax, edi
ja 0x44d73f
add ecx, dword [edx + ecx + 0xc]
lea eax, [edx + 0x14]
add eax, ecx
cmp eax, edi
ja 0x44d75b
movzx eax, word [edx + ecx + 0x12]
add ecx, 0x14
add ecx, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x7c], ecx
cmp ecx, edi
ja 0x44d777
xor eax, eax
xor edx, edx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x1c], eax
cmp ax, word [ebp - 0x40]
jae 0x44badf
nop dword [eax]
lea eax, [ecx + 8]
cmp eax, edi
ja 0x44d897
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x48], eax
lea eax, [ecx + 0x14]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x90], edx
cmp eax, edi
ja 0x44d87b
movq xmm0, qword [ecx + 8]
lea edi, [ebp - 0x2c]
movq qword [ebp - 0x2c], xmm0
mov eax, dword [ecx + 0x10]
lea ecx, [edi + 1]
mov dword [ebp - 0x24], eax
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x44b940
sub edi, ecx
lea ecx, [ebp - 0x2c]
push 8
push str.Strings
mov edx, edi
call fcn.00465360
add esp, 8
test al, al
je 0x44b99b
mov edx, dword [ebp - 0x6c]
mov eax, dword [esi + 0x434]
add edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
add eax, ecx
add eax, edx
cmp eax, dword [esi + 0x438]
ja 0x44d7af
mov eax, dword [esi + 0x434]
add eax, edx
add ecx, eax
mov dword [esi + 0x458], eax
mov dword [esi + 0x45c], ecx
jmp 0x44ba9e
push 5
push str.Blob
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.00465360
add esp, 8
test al, al
je 0x44b9ed
mov edx, dword [ebp - 0x6c]
mov eax, dword [esi + 0x434]
add edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
add eax, ecx
add eax, edx
cmp eax, dword [esi + 0x438]
ja 0x44d7d1
mov eax, dword [esi + 0x434]
add eax, edx
add ecx, eax
mov dword [esi + 0x460], eax
mov dword [esi + 0x464], ecx
jmp 0x44ba9e
push 5
push str.GUID
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.00465360
add esp, 8
test al, al
je 0x44ba32
mov ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x6c]
mov eax, dword [esi + 0x434]
add eax, ecx
mov ecx, dword [ebp - 0x48]
add ecx, eax
cmp ecx, dword [esi + 0x438]
ja 0x44d7f3
mov dword [esi + 0x468], eax
mov dword [esi + 0x46c], ecx
jmp 0x44ba9e
push 2
push 0x50d5cc
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.00465360
add esp, 8
test al, al
je 0x44ba82
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x4c]
mov eax, dword [esi + 0x434]
mov ecx, dword [ebp - 0x48]
add eax, ecx
add eax, edx
mov dword [ebp - 0x80], edx
cmp eax, dword [esi + 0x438]
ja 0x44d815
add edx, dword [esi + 0x434]
add edx, ecx
mov ecx, dword [esi + 0x434]
add dword [ebp - 0x80], ecx
mov dword [ebp - 0x78], edx
jmp 0x44baa1
push 3
push 0x50d5d0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.00465360
add esp, 8
test al, al
je 0x44d859
mov edx, dword [ebp - 0x78]
mov eax, edi
mov ecx, 4
and eax, 3
sub ecx, eax
mov eax, 4
cmovne eax, ecx
lea ecx, [edi + 8]
add eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x84]
add ecx, eax
mov dword [ebp - 0x7c], ecx
cmp ecx, edi
ja 0x44d837
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp ax, word [ebp - 0x40]
jb 0x44b900
mov ecx, dword [ebp - 0x80]
lea eax, [ecx + 7]
cmp eax, edx
ja 0x44d793
mov al, byte [ecx + 6]
mov byte [ebp - 0x39], al
mov dl, byte [ebp - 0x39]
and dl, 1
movzx eax, al
inc dl
add dl, dl
mov byte [ebp - 0x39], dl
mov byte [ebp - 0x8c], dl
mov edx, eax
shr eax, 2
shr edx, 1
and al, 1
and dl, 1
inc al
inc dl
add al, al
add dl, dl
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x84], al
lea eax, [ecx + 0x10]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x78]
cmp eax, edx
ja 0x44d8b3
mov eax, dword [ecx + 8]
lea edi, [ecx + 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x7c], edi
cmp edi, edx
ja 0x44d8cf
xor ecx, ecx
lea eax, [edi + 4]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x80], eax
cmp ecx, 0x40
jae 0x44d938
mov eax, ecx
xor edx, edx
and eax, 0x3f
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [ebp - 0x4c]
cmovae ecx, edx
shr eax, 6
and edx, dword [ebp + eax*8 - 0x20]
and ecx, dword [ebp + eax*8 - 0x1c]
or edx, ecx
je 0x44bd25
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x78]
ja 0x44d907
mov eax, dword [edi]
add edx, 4
mov ecx, dword [ebp - 0x4c]
add edi, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
cmp ecx, 0x2c
ja case.0x44bbbb.3
jmp dword [ecx*4 + 0x44d940]
mov dword [esi + 0xcc], eax
jmp 0x44bd28
mov dword [esi + 8], eax
jmp 0x44bd28
mov dword [esi + 0x5c], eax
jmp 0x44bd28
mov dword [esi + 0x13c], eax
jmp 0x44bd28
mov dword [esi + 0x94], eax
jmp 0x44bd28
mov dword [esi + 0xe8], eax
jmp 0x44bd28
mov dword [esi + 0x104], eax
jmp 0x44bd28
mov dword [esi + 0xb0], eax
jmp 0x44bd28
mov dword [esi + 0x120], eax
jmp 0x44bd28
mov dword [esi + 0x78], eax
jmp 0x44bd28
mov dword [esi + 0x158], eax
jmp 0x44bd28
mov dword [esi + 0x174], eax
jmp 0x44bd28
mov dword [esi + 0x190], eax
jmp 0x44bd28
mov dword [esi + 0x1ac], eax
jmp 0x44bd28
mov dword [esi + 0x1c8], eax
jmp 0x44bd28
mov dword [esi + 0x1e4], eax
jmp 0x44bd28
mov dword [esi + 0x200], eax
jmp 0x44bd28
mov dword [esi + 0x21c], eax
jmp 0x44bd28
mov dword [esi + 0x238], eax
jmp 0x44bd28
mov dword [esi + 0x254], eax
jmp 0x44bd28
mov dword [esi + 0x270], eax
jmp 0x44bd28
mov dword [esi + 0x28c], eax
jmp 0x44bd28
mov dword [esi + 0x40], eax
jmp 0x44bd28
mov dword [esi + 0x2a8], eax
jmp 0x44bd28
mov dword [esi + 0x2c4], eax
jmp 0x44bd28
mov dword [esi + 0x2e0], eax
jmp 0x44bd28
mov dword [esi + 0x2fc], eax
jmp 0x44bd28
mov dword [esi + 0x318], eax
jmp 0x44bd28
mov dword [esi + 0x334], eax
jmp 0x44bd28
mov dword [esi + 0x350], eax
jmp 0x44bd28
mov dword [esi + 0x36c], eax
jmp 0x44bd28
mov dword [esi + 0x388], eax
jmp 0x44bd28
mov dword [esi + 0x3a4], eax
jmp 0x44bd28
mov dword [esi + 0x3c0], eax
jmp 0x44bd28
mov dword [esi + 0x3dc], eax
jmp 0x44bd28
mov dword [esi + 0x3f8], eax
jmp 0x44bd28
mov dword [esi + 0x414], eax
jmp 0x44bd28
mov dword [esi + 0x24], eax
jmp 0x44bd28
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x40
jb 0x44bb65
xorps xmm0, xmm0
mov dword [ebp - 0xf7], 0
movq qword [ebp - 0xff], xmm0
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44bd51
movzx eax, al
mov edi, 0x10
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44be05
jb 0x44bd8d
cmp dword [esi + 0x5c], edx
jae 0x44be05
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44bd94
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44be05
jb 0x44bdc3
cmp dword [esi + 8], edx
jae 0x44be05
mov al, 1
mov ecx, 1
nop word [eax + eax]
inc al
shr ecx, 1
jne 0x44bdd0
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44be05
jb 0x44bdff
cmp dword [esi + 0x40], edx
jae 0x44be05
mov byte [ebp - 0x4c], 2
jmp 0x44be09
mov byte [ebp - 0x4c], 4
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44be10
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44bec8
jb 0x44be4a
cmp dword [esi + 0x13c], edx
jae 0x44bec8
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44be51
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44bec8
jb 0x44be83
cmp dword [esi + 0xe8], edx
jae 0x44bec8
mov al, 1
mov ecx, 1
nop word [eax + eax]
inc al
shr ecx, 1
jne 0x44be90
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44bec8
jb 0x44bec2
cmp dword [esi + 0x238], edx
jae 0x44bec8
mov byte [ebp - 0x6d], 2
jmp 0x44becc
mov byte [ebp - 0x6d], 4
lea eax, [esi + 0x40c]
push eax
lea eax, [esi + 0x1c]
push eax
lea eax, [esi + 0x3f0]
push eax
lea eax, [esi + 0x3b8]
push eax
lea eax, [esi + 0x39c]
push eax
lea eax, [esi + 0x380]
push eax
lea ecx, [esi + 0x32c]
push ecx
lea eax, [esi + 0x2d8]
push eax
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x284]
push eax
lea eax, [esi + 0x1c0]
push eax
lea eax, [esi + 0x1f8]
push eax
lea eax, [esi + 0x230]
push eax
lea eax, [esi + 0xc4]
push eax
lea eax, [esi + 0xa8]
push eax
lea eax, [esi + 0xfc]
push eax
lea eax, [esi + 0xe0]
push eax
lea edx, [esi + 0x54]
push edx
push esi
lea edx, [esi + 0x134]
lea ecx, [esi + 0x8c]
call fcn.0044b070
add esp, 0x4c
mov byte [ebp - 0x43], al
cmp dword [esi + 0x13c], 0x8000
jae 0x44bf75
cmp dword [esi + 0xe8], 0x8000
mov byte [ebp - 0x4d], 2
jb 0x44bf79
mov byte [ebp - 0x4d], 4
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44bf80
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c038
jb 0x44bfb7
cmp dword [esi + 0x5c], edx
jae 0x44c038
mov al, 1
mov ecx, 1
nop
inc al
shr ecx, 1
jne 0x44bfc0
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c038
jb 0x44bff2
cmp dword [esi + 0x94], edx
jae 0x44c038
mov al, 1
mov ecx, 1
nop dword [eax]
inc al
shr ecx, 1
jne 0x44c000
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c038
jb 0x44c032
cmp dword [esi + 0x2e0], edx
jae 0x44c038
mov byte [ebp - 0x44], 2
jmp 0x44c03c
mov byte [ebp - 0x44], 4
mov al, 1
mov ecx, 2
inc al
shr ecx, 1
jne 0x44c043
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c175
jb 0x44c07a
cmp dword [esi + 0x5c], edx
jae 0x44c175
mov al, 1
mov ecx, 2
inc al
shr ecx, 1
jne 0x44c081
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c175
jb 0x44c0b8
cmp dword [esi + 8], edx
jae 0x44c175
mov al, 1
mov ecx, 2
nop
inc al
shr ecx, 1
jne 0x44c0c0
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c175
jb 0x44c0fa
cmp dword [esi + 0x28c], edx
jae 0x44c175
mov al, 1
mov ecx, 2
inc al
shr ecx, 1
jne 0x44c101
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c175
jb 0x44c133
cmp dword [esi + 0x94], edx
jae 0x44c175
mov al, 1
mov ecx, 2
nop word [eax + eax]
inc al
shr ecx, 1
jne 0x44c140
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c175
jb 0x44c16f
cmp dword [esi + 0x40], edx
jae 0x44c175
mov byte [ebp - 0x42], 2
jmp 0x44c179
mov byte [ebp - 0x42], 4
cmp dword [esi + 0x200], 0x8000
jae 0x44c195
cmp dword [esi + 0x238], 0x8000
mov byte [ebp - 0x4e], 2
jb 0x44c199
mov byte [ebp - 0x4e], 4
mov eax, dword [esi + 0x94]
cmp eax, 0x8000
jae 0x44c1b6
cmp dword [esi + 0xb0], 0x8000
mov byte [ebp - 0x70], 2
jb 0x44c1ba
mov byte [ebp - 0x70], 4
cmp dword [esi + 0x13c], 0x8000
jae 0x44c1d1
mov byte [ebp - 0x3a], 2
cmp eax, 0x8000
jb 0x44c1d5
mov byte [ebp - 0x3a], 4
mov al, 1
mov ecx, 1
nop dword [eax]
inc al
shr ecx, 1
jne 0x44c1e0
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c298
jb 0x44c21a
cmp dword [esi + 0x388], edx
jae 0x44c298
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44c221
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c298
jb 0x44c253
cmp dword [esi + 0x334], edx
jae 0x44c298
mov al, 1
mov ecx, 1
nop word [eax + eax]
inc al
shr ecx, 1
jne 0x44c260
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c298
jb 0x44c292
cmp dword [esi + 0x3a4], edx
jae 0x44c298
mov byte [ebp - 0x41], 2
jmp 0x44c29c
mov byte [ebp - 0x41], 4
mov al, 1
mov ecx, 2
inc al
shr ecx, 1
jne 0x44c2a3
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c3d6
jb 0x44c2dd
cmp dword [esi + 0x94], edx
jae 0x44c3d6
mov al, 1
mov ecx, 2
inc al
shr ecx, 1
jne 0x44c2e4
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c3d6
jb 0x44c31e
cmp dword [esi + 0xb0], edx
jae 0x44c3d6
mov al, 1
mov ecx, 2
inc al
shr ecx, 1
jne 0x44c325
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c3d6
jb 0x44c35d
xor eax, eax
cmp eax, edx
jae 0x44c3d6
mov al, 1
mov ecx, 2
inc al
shr ecx, 1
jne 0x44c364
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c3d6
jb 0x44c394
xor eax, eax
cmp eax, edx
jae 0x44c3d6
mov al, 1
mov ecx, 2
nop dword [eax + eax]
inc al
shr ecx, 1
jne 0x44c3a0
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c3d6
jb 0x44c3d0
xor eax, eax
cmp eax, edx
jae 0x44c3d6
mov byte [ebp - 0x6e], 2
jmp 0x44c3da
mov byte [ebp - 0x6e], 4
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44c3e1
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c4d3
jb 0x44c41b
cmp dword [esi + 0xcc], edx
jae 0x44c4d3
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44c422
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c4d3
jb 0x44c45c
cmp dword [esi + 0x28c], edx
jae 0x44c4d3
mov al, 1
mov ecx, 1
inc al
shr ecx, 1
jne 0x44c463
movzx eax, al
xor edx, edx
mov ecx, edi
sub ecx, eax
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
xor ecx, ecx
cmp ecx, eax
ja 0x44c4d3
jb 0x44c495
cmp dword [esi + 0x334], edx
jae 0x44c4d3
mov al, 1
mov ecx, 1
nop dword [eax]
inc al
shr ecx, 1
jne 0x44c4a0
movzx eax, al
xor ecx, ecx
sub edi, eax
xor eax, eax
bts ecx, edi
cmp edi, 0x20
cmovae eax, ecx
xor ecx, eax
cmp edi, 0x40
cmovae eax, ecx
xor edx, edx
cmp edx, eax
ja 0x44c4d3
jb 0x44c4cd
cmp dword [esi + 8], ecx
jae 0x44c4d3
mov byte [ebp - 0x71], 2
jmp 0x44c4d7
mov byte [ebp - 0x71], 4
cmp dword [esi + 0x5c], 0x8000
jae 0x44c4f0
cmp dword [esi + 0x94], 0x8000
mov byte [ebp - 0x6f], 2
jb 0x44c4f4
mov byte [ebp - 0x6f], 4
mov ch, byte [ebp - 0x39]
mov edx, dword [ebp - 0x48]
mov cl, ch
mov al, dl
mov word [ebp - 0x3e], 0x400
add al, 0x10
mov edi, dword [ebp - 0x8c]
add cl, cl
mov byte [ebp - 0x19], ch
add al, cl
mov byte [ebp - 0x72], cl
mov byte [esi + 0x2e4], al
movzx eax, word [ebp - 0x3e]
mov word [esi + 0x2e5], ax
mov word [ebp - 0x3e], 0x804
movzx eax, word [ebp - 0x3e]
mov word [esi + 0x2e7], ax
mov word [ebp - 0x3e], 0x40c
movzx eax, word [ebp - 0x3e]
mov word [esi + 0x2e9], ax
mov byte [ebp - 0x3d], dl
mov byte [ebp - 0x3e], 0x10
movzx eax, word [ebp - 0x3e]
mov word [esi + 0x2eb], ax
mov al, dl
add al, 0x10
mov byte [ebp - 0x3d], ch
mov byte [ebp - 0x3e], al
movzx eax, word [ebp - 0x3e]
mov word [esi + 0x2ed], ax
mov al, dl
add al, ch
lea ecx, [esi + 0x32c]
mov byte [ebp - 0x3d], al
add al, 0x10
mov byte [ebp - 0x1a], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2ef], ax
mov byte [esi + 0x31c], 0xc
mov word [ebp - 0x1a], 0x400
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x31d], ax
mov word [ebp - 0x1a], 0x404
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x31f], ax
mov word [ebp - 0x1a], 0x408
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x321], ax
mov word [ebp - 0x1a], 0x400
movzx eax, word [ebp - 0x1a]
mov byte [esi + 0x300], 4
mov word [esi + 0x301], ax
mov eax, dword [ebp - 0x84]
push eax
push edi
push edi
push eax
push 4
push 8
call fcn.0044b5e0
cmp dword [esi + 0x334], 0x10000
mov word [ebp - 0x1a], 0x400
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
add al, 0xc
mov byte [esi + 0x370], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x371], ax
mov word [ebp - 0x1a], 0x404
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x373], ax
mov word [ebp - 0x1a], 0x408
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x375], ax
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], 0xc
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x377], ax
cmp dword [esi + 0x334], 0x10000
setae cl
lea ecx, [ecx*2 + 2]
mov word [ebp - 0x1a], 0x400
mov al, cl
mov edx, dword [ebp - 0x48]
add al, 4
mov byte [esi + 0x354], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x355], ax
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], 4
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x357], ax
cmp dword [esi + 0x5c], 0x10000
mov word [ebp - 0x1a], 0x200
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
mov ch, byte [ebp - 0x6e]
add al, 6
mov byte [esi + 0x194], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x195], ax
mov word [ebp - 0x1a], 0x402
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x197], ax
mov byte [ebp - 0x19], cl
mov cl, byte [ebp - 0x6d]
mov byte [ebp - 0x1a], 6
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x199], ax
mov al, cl
add al, 2
mov word [ebp - 0x1a], 0x200
add al, dl
mov byte [esi + 0x124], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x125], ax
mov byte [ebp - 0x19], cl
add cl, 2
mov byte [ebp - 0x1a], 2
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x127], ax
mov byte [ebp - 0x1a], cl
mov cl, ch
mov byte [ebp - 0x19], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x129], ax
mov ah, byte [ebp - 0x43]
add cl, ah
mov byte [ebp - 0x19], ah
mov al, cl
mov byte [ebp - 0x1a], 0
add al, dl
mov byte [esi + 0x7c], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x7d], ax
mov al, byte [ebp - 0x43]
mov byte [ebp - 0x1a], al
mov byte [ebp - 0x19], ch
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x7f], ax
mov byte [ebp - 0x1a], cl
mov cl, byte [ebp - 0x44]
mov byte [ebp - 0x19], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x81], ax
mov al, cl
add al, 2
mov word [ebp - 0x1a], 0x200
add al, dl
mov byte [esi + 0x178], al
movzx eax, word [ebp - 0x1a]
mov byte [ebp - 0x19], cl
add cl, 2
mov word [esi + 0x179], ax
mov byte [ebp - 0x1a], 2
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x17b], ax
mov byte [ebp - 0x1a], cl
mov byte [ebp - 0x19], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x17d], ax
cmp dword [esi + 0x200], 0x10000
mov byte [ebp - 0x1a], 0
setae dl
cmp dword [esi + 0x5c], 0x10000
setae cl
lea edx, [edx*2 + 2]
mov dh, byte [ebp - 0x39]
mov al, dl
lea ecx, [ecx*2 + 2]
add al, cl
mov byte [ebp - 0x19], cl
mov byte [esi + 0x1e8], al
mov ch, dh
movzx eax, word [ebp - 0x1a]
add ch, 2
mov word [esi + 0x1e9], ax
mov byte [ebp - 0x1a], cl
mov cl, byte [ebp - 0x4c]
mov byte [ebp - 0x19], dl
mov dl, dh
movzx eax, word [ebp - 0x1a]
add dl, 8
mov word [esi + 0x1eb], ax
mov al, cl
add al, 2
mov word [ebp - 0x1a], 0x200
add al, dh
mov byte [ebp - 0x44], ch
mov byte [esi + 0x204], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x205], ax
mov byte [ebp - 0x1a], 2
mov byte [ebp - 0x19], dh
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x207], ax
mov byte [ebp - 0x19], cl
mov cl, byte [ebp - 0x72]
mov byte [ebp - 0x1a], ch
add cl, 8
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x209], ax
mov al, cl
add al, byte [ebp - 0x41]
mov byte [esi + 0x3a8], al
mov word [ebp - 0x1a], 0x400
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3a9], ax
mov word [ebp - 0x1a], 0x404
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3ab], ax
mov byte [ebp - 0x1a], 8
mov byte [ebp - 0x19], dh
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3ad], ax
mov byte [ebp - 0x1a], dl
mov byte [ebp - 0x19], dh
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3af], ax
mov al, byte [ebp - 0x41]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3b1], ax
mov al, byte [ebp - 0x3d]
add al, 2
mov word [ebp - 0x1a], 0x200
mov byte [esi + 0x140], al
mov byte [ebp - 0x43], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x141], ax
mov al, dh
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], 2
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x143], ax
mov eax, dword [ebp - 0x48]
mov byte [ebp - 0x1a], ch
mov byte [ebp - 0x19], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x145], ax
cmp dword [esi + 0x13c], 0x10000
mov word [ebp - 0x1a], 0x400
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
add al, 4
mov byte [esi + 0x1b0], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x1b1], ax
mov byte [ebp - 0x19], cl
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 0x1a], 4
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x1b3], ax
mov ah, byte [ebp - 0x4d]
mov al, ah
mov byte [ebp - 0x19], ah
add al, cl
mov byte [ebp - 0x1a], 0
mov byte [esi + 0x15c], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x15d], ax
mov al, byte [ebp - 0x4d]
mov byte [ebp - 0x1a], al
mov byte [ebp - 0x19], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x15f], ax
cmp dword [esi + 0x13c], 0x10000
mov word [ebp - 0x1a], 0x400
setae cl
lea ecx, [ecx*2 + 2]
mov ch, byte [ebp - 0x6f]
mov al, cl
add al, 4
mov byte [esi + 0x2c8], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2c9], ax
mov byte [ebp - 0x19], cl
mov cl, dh
mov byte [ebp - 0x1a], 4
add dh, 4
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2cb], ax
mov al, byte [ebp - 0x3d]
add al, 4
mov word [ebp - 0x1a], 0x400
mov byte [esi + 0x38c], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x38d], ax
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], 4
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x38f], ax
mov eax, dword [ebp - 0x48]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], dh
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x391], ax
mov al, ch
add al, 4
mov word [ebp - 0x1a], 0x200
add al, cl
mov byte [esi + 0x3fc], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3fd], ax
mov word [ebp - 0x1a], 0x202
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3ff], ax
mov byte [ebp - 0x19], ch
add ch, 4
mov byte [ebp - 0x1a], 4
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x401], ax
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], ch
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x403], ax
cmp dword [esi + 0x3f8], 0x10000
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
add al, byte [ebp - 0x4c]
mov byte [esi + 0x28], al
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], 0
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x29], ax
mov al, byte [ebp - 0x4c]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2b], ax
cmp dword [esi + 0x28c], 0x10000
mov word [ebp - 0x1a], 0x200
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
add al, 2
add al, byte [ebp - 0x3a]
add al, byte [ebp - 0x39]
mov byte [esi + 0x2ac], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2ad], ax
mov al, byte [ebp - 0x3a]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], 2
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2af], ax
mov al, byte [ebp - 0x3a]
add al, 2
mov byte [ebp - 0x1a], al
mov al, byte [ebp - 0x39]
mov byte [ebp - 0x19], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2b1], ax
mov al, byte [ebp - 0x3a]
add al, 2
mov byte [ebp - 0x19], cl
add al, byte [ebp - 0x39]
mov byte [ebp - 0x1a], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x2b3], ax
cmp dword [esi + 0x5c], 0x10000
mov al, byte [ebp - 0x4c]
setae cl
mov byte [ebp - 0x1a], 0
lea ecx, [ecx*2 + 2]
mov ch, byte [ebp - 0x41]
add al, cl
mov byte [esi + 0x108], al
mov byte [ebp - 0x19], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x109], ax
mov al, byte [ebp - 0x4c]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], cl
movzx eax, word [ebp - 0x1a]
mov cl, byte [ebp - 0x39]
mov word [esi + 0x10b], ax
mov al, ch
add al, 8
mov word [ebp - 0x1a], 0x400
add al, cl
mov byte [esi + 0x3c4], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3c5], ax
mov word [ebp - 0x1a], 0x404
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3c7], ax
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], 8
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3c9], ax
mov byte [ebp - 0x19], ch
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 0x1a], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3cb], ax
mov ah, byte [ebp - 0x42]
mov al, ah
add al, cl
add al, byte [ebp - 0x39]
mov byte [esi + 0xb4], al
mov byte [ebp - 0x19], ah
mov byte [ebp - 0x1a], 0
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xb5], ax
mov al, byte [ebp - 0x42]
mov byte [ebp - 0x1a], al
mov al, byte [ebp - 0x39]
mov byte [ebp - 0x19], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xb7], ax
mov al, byte [ebp - 0x42]
add al, byte [ebp - 0x39]
mov byte [ebp - 0x1a], al
mov byte [ebp - 0x19], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xb9], ax
cmp dword [esi + 0xe8], 0x10000
mov word [ebp - 0x1a], 0x400
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
add al, 8
add al, byte [ebp - 0x48]
add al, byte [ebp - 0x39]
mov byte [esi + 0x98], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x99], ax
mov word [ebp - 0x1a], 0x204
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x9b], ax
mov word [ebp - 0x1a], 0x206
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x9d], ax
mov al, byte [ebp - 0x39]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], 8
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x9f], ax
mov eax, dword [ebp - 0x48]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], dl
movzx eax, word [ebp - 0x1a]
mov dl, byte [ebp - 0x70]
mov word [esi + 0xa1], ax
mov al, byte [ebp - 0x3d]
add al, 8
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xa3], ax
mov al, dl
cmp dword [esi + 0x5c], 0x10000
mov byte [ebp - 0x1a], 0
setae cl
add al, al
lea ecx, [ecx*2 + 2]
add al, cl
mov byte [ebp - 0x19], cl
mov byte [esi + 0x274], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x275], ax
mov byte [ebp - 0x1a], cl
add cl, dl
mov byte [ebp - 0x19], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x277], ax
mov byte [ebp - 0x1a], cl
mov byte [ebp - 0x19], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x279], ax
cmp dword [esi + 0x94], 0x10000
mov word [ebp - 0x1a], 0x200
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
add al, 2
add al, byte [ebp - 0x4e]
mov byte [esi + 0x258], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x259], ax
mov byte [ebp - 0x19], cl
add cl, 2
mov byte [ebp - 0x1a], 2
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x25b], ax
mov al, byte [ebp - 0x4e]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x25d], ax
mov al, dl
mov ecx, dword [ebp - 0x48]
add al, cl
mov byte [esi + 0x418], al
mov byte [ebp - 0x19], dl
mov byte [ebp - 0x1a], 0
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x419], ax
mov byte [ebp - 0x19], cl
mov ecx, dword [ebp - 0x6c]
mov ch, byte [ebp - 0x39]
mov byte [ebp - 0x1a], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x41b], ax
mov al, cl
mov dl, byte [ebp - 0x44]
add al, al
mov word [ebp - 0x1a], 0x200
add cl, 2
add cl, al
movzx eax, word [ebp - 0x1a]
mov byte [ebp - 0x19], ch
add cl, ch
mov byte [esi + 0xd0], cl
mov word [esi + 0xd1], ax
mov byte [ebp - 0x1a], 2
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xd3], ax
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xd5], ax
mov al, byte [ebp - 0x6c]
add al, 2
add al, ch
mov byte [ebp - 0x1a], al
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 0x19], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xd7], ax
mov al, byte [ebp - 0x6c]
inc al
add al, al
add al, ch
mov byte [ebp - 0x1a], al
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 0x19], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xd9], ax
mov byte [ebp - 0x19], ch
mov byte [esi + 0x290], ch
mov byte [ebp - 0x1a], 0
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x291], ax
cmp dword [esi + 0x5c], 0x10000
mov byte [ebp - 0x1a], 0
setae cl
lea ecx, [ecx*2 + 2]
mov al, cl
mov byte [ebp - 0x19], cl
add al, al
mov byte [esi + 0x3e0], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3e1], ax
mov byte [ebp - 0x1a], cl
mov byte [ebp - 0x19], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x3e3], ax
mov byte [esi + 0xec], dh
mov word [ebp - 0x1a], 0x200
movzx eax, word [ebp - 0x1a]
mov cl, byte [ebp - 0x39]
mov word [esi + 0xed], ax
mov word [ebp - 0x1a], 0x202
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xef], ax
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], 4
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xf1], ax
mov al, byte [ebp - 0x43]
mov byte [esi + 0x23c], al
mov word [ebp - 0x1a], 0x200
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x23d], ax
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x1a], 2
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x23f], ax
mov eax, dword [ebp - 0x48]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], dl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x241], ax
cmp dword [esi + 0x238], 0x10000
mov byte [ebp - 0x1a], 0
setae dl
cmp dword [esi + 0x5c], 0x10000
setae cl
lea edx, [edx*2 + 2]
mov al, dl
lea ecx, [ecx*2 + 2]
add al, cl
mov byte [ebp - 0x19], cl
mov byte [esi + 0x220], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x221], ax
mov byte [ebp - 0x19], dl
mov byte [ebp - 0x1a], cl
lea ecx, [esi + 0x54]
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x223], ax
mov eax, dword [ebp - 0x48]
mov byte [esi + 0x1cc], al
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1a], 0
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x1cd], ax
cmp dword [esi + 0x94], 0x10000
setae al
cmp dword [esi + 0x13c], 0x10000
lea eax, [eax*2 + 2]
mov dl, al
setae al
push edx
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x4c]
push edi
push edi
push 4
call fcn.0044b5e0
mov dl, byte [ebp - 0x71]
mov cl, byte [ebp - 0x39]
mov al, dl
add al, byte [ebp - 0x72]
mov byte [esi + 0xc], al
mov byte [ebp - 0x19], dl
mov byte [ebp - 0x1a], 0
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xd], ax
mov byte [ebp - 0x1a], dl
add dl, cl
mov byte [ebp - 0x19], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0xf], ax
mov byte [ebp - 0x1a], dl
mov byte [ebp - 0x19], cl
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x11], ax
mov eax, dword [ebp - 0x48]
mov byte [esi + 0x44], al
mov byte [ebp - 0x1a], 0
mov byte [ebp - 0x19], al
movzx eax, word [ebp - 0x1a]
mov word [esi + 0x45], ax
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 4], 0x1c
mov edx, dword [esi + 0xcc]
test edx, edx
je 0x44d004
movzx eax, byte [esi + 0xd0]
imul eax, edx
mov edx, dword [ebp - 0x78]
mov dword [esi + 0xc8], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
jmp 0x44d007
mov edx, dword [ebp - 0x78]
mov dword [ebp - 4], 0x1d
mov edi, dword [esi + 8]
test edi, edi
je 0x44d029
movzx eax, byte [esi + 0xc]
imul eax, edi
mov dword [esi + 4], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x1e
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x44d04b
movzx eax, byte [esi + 0x60]
imul eax, edi
mov dword [esi + 0x58], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x1f
mov edi, dword [esi + 0x13c]
test edi, edi
je 0x44d076
movzx eax, byte [esi + 0x140]
imul eax, edi
mov dword [esi + 0x138], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x20
mov edi, dword [esi + 0x94]
test edi, edi
je 0x44d0a1
movzx eax, byte [esi + 0x98]
imul eax, edi
mov dword [esi + 0x90], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x21
mov edi, dword [esi + 0xe8]
test edi, edi
je 0x44d0cc
movzx eax, byte [esi + 0xec]
imul eax, edi
mov dword [esi + 0xe4], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x22
mov edi, dword [esi + 0x104]
test edi, edi
je 0x44d0f7
movzx eax, byte [esi + 0x108]
imul eax, edi
mov dword [esi + 0x100], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x23
mov edi, dword [esi + 0xb0]
test edi, edi
je 0x44d122
movzx eax, byte [esi + 0xb4]
imul eax, edi
mov dword [esi + 0xac], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x24
mov edi, dword [esi + 0x120]
test edi, edi
je 0x44d14d
movzx eax, byte [esi + 0x124]
imul eax, edi
mov dword [esi + 0x11c], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x25
mov edi, dword [esi + 0x78]
test edi, edi
je 0x44d16f
movzx eax, byte [esi + 0x7c]
imul eax, edi
mov dword [esi + 0x74], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x26
mov edi, dword [esi + 0x158]
test edi, edi
je 0x44d19a
movzx eax, byte [esi + 0x15c]
imul eax, edi
mov dword [esi + 0x154], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x27
mov edi, dword [esi + 0x174]
test edi, edi
je 0x44d1c5
movzx eax, byte [esi + 0x178]
imul eax, edi
mov dword [esi + 0x170], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x28
mov edi, dword [esi + 0x190]
test edi, edi
je 0x44d1f0
movzx eax, byte [esi + 0x194]
imul eax, edi
mov dword [esi + 0x18c], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x29
mov edi, dword [esi + 0x1ac]
test edi, edi
je 0x44d21b
movzx eax, byte [esi + 0x1b0]
imul eax, edi
mov dword [esi + 0x1a8], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x2a
mov edi, dword [esi + 0x1c8]
test edi, edi
je 0x44d246
movzx eax, byte [esi + 0x1cc]
imul eax, edi
mov dword [esi + 0x1c4], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x2b
mov edi, dword [esi + 0x1e4]
test edi, edi
je 0x44d271
movzx eax, byte [esi + 0x1e8]
imul eax, edi
mov dword [esi + 0x1e0], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x2c
mov edi, dword [esi + 0x200]
test edi, edi
je 0x44d29c
movzx eax, byte [esi + 0x204]
imul eax, edi
mov dword [esi + 0x1fc], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x2d
mov edi, dword [esi + 0x21c]
test edi, edi
je 0x44d2c7
movzx eax, byte [esi + 0x220]
imul eax, edi
mov dword [esi + 0x218], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x2e
mov edi, dword [esi + 0x238]
test edi, edi
je 0x44d2f2
movzx eax, byte [esi + 0x23c]
imul eax, edi
mov dword [esi + 0x234], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x2f
mov edi, dword [esi + 0x254]
test edi, edi
je 0x44d31d
movzx eax, byte [esi + 0x258]
imul eax, edi
mov dword [esi + 0x250], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x30
mov edi, dword [esi + 0x270]
test edi, edi
je 0x44d348
movzx eax, byte [esi + 0x274]
imul eax, edi
mov dword [esi + 0x26c], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x31
mov edi, dword [esi + 0x28c]
test edi, edi
je 0x44d373
movzx eax, byte [esi + 0x290]
imul eax, edi
mov dword [esi + 0x288], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x32
mov edi, dword [esi + 0x40]
test edi, edi
je 0x44d395
movzx eax, byte [esi + 0x44]
imul eax, edi
mov dword [esi + 0x3c], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x33
mov edi, dword [esi + 0x2a8]
test edi, edi
je 0x44d3c0
movzx eax, byte [esi + 0x2ac]
imul eax, edi
mov dword [esi + 0x2a4], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x34
mov edi, dword [esi + 0x2c4]
test edi, edi
je 0x44d3eb
movzx eax, byte [esi + 0x2c8]
imul eax, edi
mov dword [esi + 0x2c0], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x35
mov edi, dword [esi + 0x2e0]
test edi, edi
je 0x44d416
movzx eax, byte [esi + 0x2e4]
imul eax, edi
mov dword [esi + 0x2dc], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x36
mov edi, dword [esi + 0x2fc]
test edi, edi
je 0x44d441
movzx eax, byte [esi + 0x300]
imul eax, edi
mov dword [esi + 0x2f8], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x37
mov edi, dword [esi + 0x318]
test edi, edi
je 0x44d46c
movzx eax, byte [esi + 0x31c]
imul eax, edi
mov dword [esi + 0x314], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x38
mov edi, dword [esi + 0x334]
test edi, edi
je 0x44d497
movzx eax, byte [esi + 0x338]
imul eax, edi
mov dword [esi + 0x330], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x39
mov edi, dword [esi + 0x350]
test edi, edi
je 0x44d4c2
movzx eax, byte [esi + 0x354]
imul eax, edi
mov dword [esi + 0x34c], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x3a
mov edi, dword [esi + 0x36c]
test edi, edi
je 0x44d4ed
movzx eax, byte [esi + 0x370]
imul eax, edi
mov dword [esi + 0x368], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x3b
mov edi, dword [esi + 0x388]
test edi, edi
je 0x44d518
movzx eax, byte [esi + 0x38c]
imul eax, edi
mov dword [esi + 0x384], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x3c
mov edi, dword [esi + 0x3a4]
test edi, edi
je 0x44d543
movzx eax, byte [esi + 0x3a8]
imul eax, edi
mov dword [esi + 0x3a0], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x3d
mov edi, dword [esi + 0x3c0]
test edi, edi
je 0x44d56e
movzx eax, byte [esi + 0x3c4]
imul eax, edi
mov dword [esi + 0x3bc], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x3e
mov edi, dword [esi + 0x3dc]
test edi, edi
je 0x44d599
movzx eax, byte [esi + 0x3e0]
imul eax, edi
mov dword [esi + 0x3d8], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x3f
mov edi, dword [esi + 0x3f8]
test edi, edi
je 0x44d5c4
movzx eax, byte [esi + 0x3fc]
imul eax, edi
mov dword [esi + 0x3f4], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x40
mov edi, dword [esi + 0x414]
test edi, edi
je 0x44d5ef
movzx eax, byte [esi + 0x418]
imul eax, edi
mov dword [esi + 0x410], ecx
add ecx, eax
cmp ecx, edx
ja 0x44d923
mov dword [ebp - 4], 0x41
mov edi, dword [esi + 0x24]
test edi, edi
je 0x44d641
movzx eax, byte [esi + 0x28]
imul eax, edi
mov dword [esi + 0x20], ecx
add eax, ecx
cmp eax, edx
jbe 0x44d641
push str.Buffer_too_small
lea ecx, [ebp - 0x108]
call fcn.00465f50
lea ecx, [ebp - 0x108]
jmp 0x44d933
push str.Invalid_PE_section_count
lea ecx, [ebp - 0x68]
call fcn.00465f50
mov dword [ebp - 4], 3
jmp 0x44d930
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004697b3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0
call fcn.00465de0
push str.Invalid_DOS_signature
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 1
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 2
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 4
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 6
call fcn.00465de0
push str.Invalid_CLI_header
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 7
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 9
call fcn.00465de0
push str.CLI_metadata_magic_signature_not_found
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xa
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xb
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xc
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x38]
call fcn.00465f50
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xd
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x16
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0xa8]
call fcn.00465f50
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0x10
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0xa8]
call fcn.00465f50
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0x11
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0xa8]
call fcn.00465f50
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0x12
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x124]
call fcn.00465f50
lea ecx, [ebp - 0x124]
mov dword [ebp - 4], 0x13
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0xa8]
call fcn.00465f50
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0x15
call fcn.00465de0
push str.Unknown_metadata_stream
lea ecx, [ebp - 0xa8]
call fcn.00465f50
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0x14
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xf
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xe
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x17
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x18
call fcn.00465de0
push str.Unknown_metadata_table
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x1b
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x19
call fcn.00465de0
push str.Buffer_too_small
lea ecx, [ebp - 0x68]
call fcn.00465f50
lea ecx, [ebp - 0x68]
call fcn.00465de0
call fcn.0044b060
nop dword [eax]
ret 0x44bb