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

Disassembly:
call dword [ebp - 0x19f0]
test eax, eax
jne 0x40cfdf
push ecx
push ecx
add esp, 4
xor ecx, 0x10f4d
jmp 0x40cfae
add ecx, 0xf6cf
pop ecx
push edx
push ecx
add esp, 4
call 0x40cfc6
add byte [eax + edi + 0x4d], al
inc edx
dec ecx
add esp, 4
xor edx, 0x1767
pop edx
mov dword [ebp - 0xa80], 0
jmp 0x40d6ca
push eax
push eax
add esp, 4
call 0x40cff0
add byte [edi + 0x3f], cl
dec esi
cmp edi, dword [edx]
cmp dword [ebx + 0x525804c4], eax
call 0x40d001
add byte [eax + 0x34], dl
inc eax
inc esi
cmp al, 0x3e
add esp, 4
jmp 0x40d00a
or edx, 0x102d7
pop edx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19f4], ecx
mov edx, dword [ebp - 0x19f4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x19f8]
mov dword [ebp - 0x16a8], ecx
push esi
add esi, 0x14ce7
sub esi, 0x17b9b
jmp 0x40d04b
call 0x40d059
add byte [eax + 0x43], dl
inc esi
aaa
dec eax
cmp byte [esi], bh
inc ebx
add esp, 4
pop esi
push ecx
or ecx, 0xc79f
jmp 0x40d06a
pop ecx
cmp dword [ebp - 0x16a8], 0
jne 0x40d083
mov dword [ebp - 0x2fc], 0
jmp 0x40d32a
mov edx, dword [ebp - 0x16a8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcfc], ecx
push edi
push eax
add esp, 4
sub edi, 0x1849c
xor edi, 0xb063
pop edi
push edx
xor edx, 0xd874
call 0x40d0bd
add byte [ebx + esi], bh
inc esp
xor ecx, dword [ebx + 0x38]
inc ebp
dec ecx
inc edx
add esp, 4
or edx, 0x4156
pop edx
cmp dword [ebp - 0xcfc], 0
jne 0x40d0df
mov dword [ebp - 0x2fc], 0
jmp 0x40d32a
mov edx, dword [ebp - 0xcfc]
mov dword [ebp - 0x440], edx
push ecx
sub ecx, 0xff9
and ecx, 0x1658c
jmp 0x40d0ff
pop ecx
push edx
push ecx
add esp, 4
and edx, 0x1788d
or edx, 0xce87
and edx, 0x5af2
jmp 0x40d11c
pop edx
lea eax, [ebp - 0x1770]
mov dword [ebp - 0xcf8], eax
mov ecx, dword [ebp - 0x440]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcf4], edx
xor eax, eax
mov word [ebp - 0x1d0], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edx
add edx, 0x14073
pop edx
push eax
push ecx
add esp, 4
call 0x40d161
add byte [eax + 0x4c], cl
cmp al, 0x39
dec eax
inc esi
inc eax
add esp, 4
sub eax, 0x12230
or eax, 0x1732f
pop eax
push ebx
or ebx, 0x2c1e
pop ebx
mov edx, dword [ebp - 0xcf4]
mov ax, word [edx]
mov word [ebp - 0x106e], ax
mov ecx, dword [ebp - 0xcf4]
add ecx, 2
mov dword [ebp - 0xcf4], ecx
mov dx, word [ebp - 0x106e]
mov word [ebp - 0x1d0], dx
mov eax, dword [ebp - 0xcf8]
mov cx, word [eax]
mov word [ebp - 0x1070], cx
mov edx, dword [ebp - 0xcf8]
add edx, 2
mov dword [ebp - 0xcf8], edx
mov ax, word [ebp - 0x1070]
mov word [ebp - 0x3c], ax
push ecx
push edx
add esp, 4
les eax, [ebx + ebp*8]
push es
pop ecx
push esi
push ecx
add esp, 4
call method.CQRCodesReaderSetupBootApp.virtual_168
add byte [edi], bh
xor al, 0x32
dec esi
dec esp
inc esp
xor eax, dword [edi + eax*2 - 0x7d]
add esp, 4
sub esi, 0x1320f
add esi, 0x430f
pop esi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x40d21f
movzx edx, word [ebp - 0x1d0]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x16b0], edx
jmp 0x40d279
movzx ecx, word [ebp - 0x1d0]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x40d147
movzx eax, word [ebp - 0x1d0]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x40d147
movzx edx, word [ebp - 0x1d0]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x40d263
mov dword [ebp - 0x16ac], 0xffffffff
jmp 0x40d26d
mov dword [ebp - 0x16ac], 1
mov ecx, dword [ebp - 0x16ac]
mov dword [ebp - 0x16b0], ecx
cmp dword [ebp - 0x16b0], 0
jne 0x40d2c2
push esi
push ecx
add esp, 4
call 0x40d293
add byte [0x36463247], dh
inc ebp
add esp, 4
add esi, 0x1170c
sub esi, 0x133db
call 0x40d2b0
add byte [esi + 0x46], cl
inc eax
cmp byte [edx + 0x48], al
xor ecx, dword [edi - 0x7d]
les eax, [esi + ebx*2]
mov edx, dword [ebp - 0x440]
mov dword [ebp - 0x2fc], edx
jmp 0x40d32a
push ecx
jmp 0x40d2c9
and ecx, 0xd258
and ecx, 0x638e
add ecx, 0x5afd
pop ecx
push esi
push edx
add esp, 4
or esi, 0xfbdf
xor esi, 0x134f8
and esi, 0x6a4f
pop esi
mov eax, dword [ebp - 0x440]
mov ecx, dword [eax]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x440]
cmp edx, dword [ebp - 0xcfc]
je 0x40d320
mov eax, dword [ebp - 0x440]
cmp dword [eax + 0x30], 0
jne 0x40d0eb
mov dword [ebp - 0x2fc], 0
push eax
push eax
add esp, 4
or eax, 0x16a8
call 0x40d345
add byte [ecx + 0x43], al
dec esp
dec esi
push eax
dec edi
xor dh, byte [edx]
dec esp
add esp, 4
pop eax
push ebx
push ebx
add esp, 4
jmp 0x40d355
or ebx, 0x7789
pop ebx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a0], edx
push edi
or edi, 0xd5c
or edi, 0x3126
add edi, 0xe041
or edi, 0x348
pop edi
push esi
push edi
add esp, 4
add esi, 0x73e4
sub esi, 0x15b7d
sub esi, 0x5c60
pop esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x16b4], eax
cmp dword [ebp - 0x16b4], 0
jne 0x40d3cd
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], ecx
jmp 0x40d6be
mov edx, dword [ebp - 0x16b4]
mov eax, dword [ebp - 0x3a0]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x16b8], eax
jne 0x40d3f5
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], ecx
jmp 0x40d6be
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x16b8]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x16bc], edx
cmp dword [ebp - 0x16bc], 0
mov ebp, 0xffffe944
add byte [ebp + 0x11], dh
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], eax
jmp 0x40d6be
mov ecx, dword [ebp - 0x3a0]
add ecx, dword [ebp - 0x16bc]
mov dword [ebp - 0x798], ecx
jne 0x40d44c
mov edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], edx
jmp 0x40d6be
mov eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x3a0]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19fc], ecx
mov edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x3a0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a00], eax
mov ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x3a0]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a04], edx
mov dword [ebp - 0x79c], 0
jmp 0x40d4a6
mov ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x79c]
cmp edx, dword [ecx + 0x18]
jae 0x40d6b2
mov eax, dword [ebp - 0x79c]
mov ecx, dword [ebp - 0x19fc]
mov edx, dword [ebp - 0x3a0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x79c]
mov ecx, dword [ebp - 0x1a00]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a04]
mov ecx, dword [ebp - 0x3a0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a08], ecx
mov dword [ebp - 0x158], 0
jmp 0x40d516