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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x24
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + 0x5c]
test ebx, ebx
je 0x420b50
mov edx, dword [eax + 0x18]
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
xor ebp, ebp
mov dword [esp + 4], ebx
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x18], esi
mov esi, dword [eax + 0x24]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x54]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x10], edx
nop
cmp eax, ebx
mov edx, ebx
mov esi, ebx
cmovb edx, eax
test ebp, ebp
cmovne edx, ebx
sub esi, edx
jb 0x420bfa
cmp esi, 2
jb 0x420b5c
mov esi, eax
mov ecx, ebp
mov edi, ebx
add esi, 2
adc ecx, 0
cmp esi, ebx
cmovae esi, ebx
test ecx, ecx
cmovne esi, ebx
sub edi, esi
jb 0x420c03
cmp edi, 2
jb 0x420b5c
mov ecx, dword [esp + 8]
mov edi, eax
add edi, 4
movzx ebx, word [ecx + edx]
movzx esi, word [ecx + esi]
mov edx, ebp
adc edx, 0
cmp ebx, 1
je 0x420980
xor ecx, ecx
cmp ebx, 0x9901
jne 0x420a10
mov ebx, dword [esp + 4]
cmp si, 7
jne 0x420b8f
cmp edi, ebx
cmovae edi, ebx
test edx, edx
mov edx, ebx
cmovne edi, ebx
sub edx, edi
jb 0x420c0c
cmp edx, 2
jb 0x420b5c
mov edx, eax
mov ecx, ebp
mov esi, ebx
add edx, 6
adc ecx, 0
cmp edx, ebx
cmovae edx, ebx
test ecx, ecx
cmovne edx, ebx
sub esi, edx
jb 0x420bfa
cmp esi, 2
jb 0x420b5c
mov esi, eax
mov ecx, ebp
add esi, 8
adc ecx, 0
cmp esi, ebx
cmovae esi, ebx
test ecx, ecx
cmovne esi, ebx
cmp ebx, esi
jb 0x420c03
je 0x420b5c
mov ecx, ebx
mov ebx, eax
mov dword [esp], ebp
add ebx, 9
adc dword [esp], 0
cmp ebx, ecx
cmovae ebx, ecx
cmp dword [esp], 0
cmovne ebx, ecx
sub ecx, ebx
jb 0x420c15
cmp ecx, 2
jb 0x420b5c
mov ecx, dword [esp + 8]
add eax, 0xb
adc ebp, 0
movzx ecx, word [ecx + edx]
mov edx, dword [esp + 8]
cmp ecx, 0x4541
jne 0x420ba9
movzx edi, word [edx + edi]
mov ecx, edx
movzx edx, byte [edx + esi]
movzx esi, word [ecx + ebx]
cmp edi, 1
je 0x420afa
cmp edi, 2
jne 0x420bdd
mov bl, 1
jmp 0x420afc
mov ecx, dword [esp + 0x20]
not ecx
or ecx, dword [esp + 0x1c]
jne 0x420a19
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
cmp edi, ebx
mov byte [ecx + 0x78], 1
mov ecx, ebx
cmovae edi, ebx
test edx, edx
cmovne edi, ebx
sub ecx, edi
jb 0x420c0c
cmp ecx, 8
mov ecx, dword [esp + 8]
jb 0x420b5c
mov edx, dword [ecx + edi]
mov edi, dword [ecx + edi + 4]
mov ecx, dword [esp + 0x3c]
add eax, 0xc
movzx esi, si
adc ebp, 0
add esi, 0xfffffff8
mov dword [ecx + 0x1c], edi
mov dword [ecx + 0x18], edx
mov ecx, 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edx
mov edi, eax
mov edx, ebp
adc ecx, 0xffffffff
mov eax, dword [esp + 0x18]
not eax
or eax, dword [esp + 0x14]
je 0x420a2e
mov eax, dword [esp + 0x10]
not eax
or eax, dword [esp + 0xc]
je 0x420a90
jmp 0x420ade
mov ebx, dword [esp + 4]
jmp 0x420ade
mov ebx, dword [esp + 4]
movzx esi, si
xor ecx, ecx
mov eax, dword [esp + 0x18]
not eax
or eax, dword [esp + 0x14]
jne 0x4209fa
mov eax, dword [esp + 0x3c]
cmp edi, ebx
mov dword [esp], ecx
mov ecx, ebx
mov byte [eax + 0x78], 1
mov eax, ebx
cmovb eax, edi
test edx, edx
cmovne eax, ebx
sub ecx, eax
jb 0x420c21
cmp ecx, 8
jb 0x420b5c
mov ecx, dword [esp + 8]
add edi, 8
adc edx, 0
add esi, 0xfffffff8
mov ebp, dword [ecx + eax]
mov ecx, dword [ecx + eax + 4]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [esp]
mov dword [esp + 0x18], ebp
mov dword [eax + 0x10], ebp
adc ecx, 0xffffffff
mov eax, dword [esp + 0x10]
not eax
or eax, dword [esp + 0xc]
jne 0x420ade
cmp edi, ebx
mov eax, ebx
mov dword [esp], ecx
mov ecx, ebx
cmovb eax, edi
test edx, edx
cmovne eax, ebx
sub ecx, eax
jb 0x420c21
cmp ecx, 8
jb 0x420b5c
mov ecx, dword [esp + 8]
add edi, 8
adc edx, 0
add esi, 0xfffffff8
mov ebp, dword [ecx + eax]
mov ecx, dword [ecx + eax + 4]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov dword [eax + 0x24], ecx
mov ecx, dword [esp]
mov dword [esp + 0x10], ebp
mov dword [eax + 0x20], ebp
adc ecx, 0xffffffff
mov eax, esi
mov ebp, edx
neg eax
mov eax, 0
sbb eax, ecx
mov eax, edi
jge 0x420b44
add eax, esi
adc ebp, ecx
jae 0x420b40
jmp 0x420b7c
xor ebx, ebx
dec dl
cmp dl, 3
jae 0x420bc3
mov edi, dword [esp + 0x3c]
xor ecx, ecx
cmp si, 8
sete cl
mov byte [edi + 0x74], dl
mov edx, 2
mov byte [edi + 0x75], bl
mov ebx, dword [esp + 4]
sub edx, ecx
xor ecx, ecx
test si, si
cmove edx, ecx
mov word [edi + 0x38], dx
mov word [edi + 0x3a], si
mov esi, 7
add eax, esi
adc ebp, ecx
jb 0x420b7c
mov edi, eax
mov edx, ebp
cmp ebx, edi
mov eax, edi
mov ebp, edx
ja 0x420820
mov eax, dword [esp + 0x38]
mov dword [eax], 4
jmp 0x420b74
mov eax, dword [esp + 0x38]
mov dword [eax], 0
mov dword [eax + 8], 0x69d2f4
mov dword [eax + 4], 2
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x38]
mov dword [eax], 0
mov dword [eax + 8], 0x69d390
jmp 0x420b6d
mov eax, dword [esp + 0x38]
mov dword [eax], 2
mov dword [eax + 4], str.AES_extra_data_field_has_an_unsupported_lengthInvalid_AES_vendorInvalid_AES_vendor_versionInvalid_AES_encryption_strengthInvalid_reader_state
mov dword [eax + 8], 0x2e
jmp 0x420b74
mov eax, dword [esp + 0x38]
mov dword [eax], 1
mov dword [eax + 4], 0x69cb1e
mov dword [eax + 8], 0x12
jmp 0x420b74
mov eax, dword [esp + 0x38]
mov dword [eax], 1
mov dword [eax + 4], 0x69cb4a
mov dword [eax + 8], 0x1f
jmp 0x420b74
mov eax, dword [esp + 0x38]
mov dword [eax], 1
mov dword [eax + 4], 0x69cb30
mov dword [eax + 8], 0x1a
jmp 0x420b74
push 0x69d34c
push ebx
push edx
jmp 0x420c28
push 0x69d34c
push ebx
push esi
jmp 0x420c28
push 0x69d34c
push ebx
push edi
jmp 0x420c28
push 0x69d34c
push dword [esp + 8]
push ebx
jmp 0x420c28
push 0x69d34c
push ebx
push eax
call fcn.0044a9b0
add esp, 0xc
ud2