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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x48a04f
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2304
call fcn.0046a9e0
mov eax, dword [0x4b38b4]
xor eax, esp
mov dword [esp + 0x2300], eax
push ebx
push esi
push edi
mov eax, dword [0x4b38b4]
xor eax, esp
push eax
lea eax, [esp + 0x2318]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push 0x3ef
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
xor esi, esi
push esi
push esi
push 0x1042
push eax
mov dword [esp + 0x50], eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [esp + 0xe0]
mov ebx, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
call fcn.00419700
mov dword [esp + 0x2320], esi
mov dword [0x4b85d0], esi
mov ecx, 0x19
mov esi, 0x4b86d0
mov edi, 0x4b8800
rep movsd dword es:[edi], dword [esi]
mov dword [0x4b8a68], 0
cmp ebx, 0xffffffff
jne 0x41d2e1
xor ebx, ebx
call fcn.00432450
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x4dc3bc], 1
jmp 0x41d300
xor esi, esi
cmp dword [esp + 0x10], esi
jne 0x41d3cb
cmp dword [0x4b8a44], esi
jne 0x41d37e
cmp dword [ebp + 0xc], esi
je 0x41d39e
mov eax, dword [esp + 0x14]
mov ecx, dword [0x4dc3d0]
push 0x4b85d0
push 0x4155e0
push eax
push 0x68
push ecx
mov byte [0x4b8868], 0
mov dword [0x4b87f8], esi
mov dword [0x4b4e20], esi
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp eax, 1
je 0x41d39e
mov edx, 0x4b8814
mov ecx, 0x48
mov dword [0x4b85d0], esi
mov edi, ecx
mov eax, edx
mov byte [eax], 0
inc eax
sub edi, 1
jne 0x41d367
dec ecx
mov byte [edx], 0
inc edx
cmp ecx, esi
jne 0x41d370
jmp 0x41ddd5
mov ecx, 0x12
mov esi, 0x4b8618
mov edi, 0x4b85d0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp + 0xc], 0
xor esi, esi
call fcn.004309a0
mov eax, dword [0x4b8734]
cmp eax, esi
je 0x41d3af
push eax
jmp 0x41d3be
cmp dword [0x4dc3a4], esi
je 0x41d3cb
mov edx, dword [0x4dc3a8]
push edx
push 0x4b85d0
call fcn.004493b0
add esp, 8
mov ecx, dword [esp + 0xf0]
sub ecx, dword [esp + 0xec]
mov eax, 0x78787879
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x41d492
push 1
push 1
push esi
lea ecx, [esp + 0xd4]
push 1
push ecx
call fcn.00445460
add esp, 0x14
push eax
lea ecx, [esp + 0xe4]
mov byte [esp + 0x2324], 1
call fcn.0041c180
mov eax, dword [esp + 0xd4]
mov byte [esp + 0x2320], 2
cmp eax, esi
je 0x41d465
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x24], ecx
mov esi, eax
cmp eax, ecx
je 0x41d45a
mov ecx, esi
call fcn.00411ed0
add esi, 0x88
cmp esi, dword [esp + 0x24]
jne 0x41d440
mov eax, dword [esp + 0xd4]
push eax
call fcn.00469789
add esp, 4
xor esi, esi
mov edx, dword [esp + 0xc8]
push edx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov byte [esp + 0x2324], 0
call fcn.00469789
add esp, 4
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.0041b100
add esp, 8
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x60]
mov byte [esp + 0x2320], 3
call eax
test al, al
je 0x41dad5
mov eax, dword [esp + 0x88]
mov byte [esp + 0x37], 0
mov byte [esp + 0x2f], 0
cmp eax, esi
jne 0x41d4e9
call fcn.00469ad4
mov eax, dword [esp + 0x88]
cmp eax, esi
je 0x41d4ed
mov eax, dword [eax]
jmp 0x41d4ef
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x41d507
call fcn.00469ad4
mov ecx, dword [esp + 0x8c]
cmp byte [esp + 0x65], 0
mov dword [esp + 0xc0], ecx
sete al
mov byte [esp + 0x65], al
test al, al
je 0x41dab3
add ecx, 0x6c
mov dword [esp + 0xc4], ecx
lea esp, [esp]
mov ecx, dword [esp + 0xc4]
push ecx
lea ecx, [esp + 0x4c]
call fcn.0041a390
mov eax, dword [esp + 0x54]
mov byte [esp + 0x2320], 4
mov esi, eax
cmp eax, dword [esp + 0x58]
jbe 0x41d55a
call fcn.00469ad4
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x48]
push edx
push esi
push eax
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x58]
call fcn.0041d150
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x94]
push edx
call fcn.0041b100
add esp, 8
mov eax, dword [esp + 0x90]
mov edx, dword [eax + 4]
lea ecx, [esp + 0x90]
mov byte [esp + 0x2320], 5
call edx
test al, al
je 0x41d9b4
mov eax, dword [esp + 0xb8]
mov byte [esp + 0x2d], 0
mov byte [esp + 0x2e], 0
test eax, eax
jne 0x41d5d6
call fcn.00469ad4
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x41d5da
mov ecx, dword [eax]
jmp 0x41d5dc
xor ecx, ecx
mov eax, dword [esp + 0xbc]
cmp eax, dword [ecx + 0x10]
jb 0x41d5f4
call fcn.00469ad4
mov eax, dword [esp + 0xbc]
cmp byte [esp + 0x95], 0
mov dword [esp + 0x3c], eax
sete cl
mov byte [esp + 0x95], cl
test cl, cl
je 0x41d986
lea esi, [eax + 0x40]
add eax, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
cmp dword [esi + 0x18], 0x10
jb 0x41d62b
mov eax, dword [esi + 4]
jmp 0x41d62e
lea eax, [esi + 4]
push eax
lea eax, [esp + 0x208]
push 0x104
push eax
call fcn.0046ad43
lea ecx, [esp + 0x210]
push ecx
call fcn.00440aa0
mov edx, dword [esp + 0x34]
add esp, 0x10
cmp byte [edx], 0
jne 0x41d662
test eax, eax
jne 0x41d986
mov ecx, dword [esp + 0x3c]
cmp byte [ecx + 3], 0
jne 0x41d986
cmp byte [ecx + 6], 0
je 0x41d68a
cmp dword [0x4b885c], 0
jne 0x41d68a
cmp dword [esp + 0x10], 0
je 0x41d964
test eax, eax
jne 0x41d964
mov esi, dword [esp + 0x40]
jmp 0x41d6a0
push 0x34
lea eax, [esp + 0x1d4]
push 0
push eax
call fcn.0046a470
add esp, 0xc
lea ecx, [esp + 0x1d0]
push ecx
push 0
push 0x1005
push esi
mov dword [esp + 0x1e0], 4
mov dword [esp + 0x1e4], ebx
call edi
test eax, eax
je 0x41d792
mov edx, 0xffff
cmp word [esp + 0x1f0], dx
je 0x41d792
push 0x34
lea eax, [esp + 0x104]
push 0
push eax
call fcn.0046a470
add esp, 0xc
lea ecx, [esp + 0x100]
push ecx
push 0
push 0x1005
push esi
mov dword [esp + 0x110], 4
mov dword [esp + 0x114], ebx
call edi
test eax, eax
je 0x41d73a
cmp word [esp + 0x120], 0
je 0x41d740
inc ebx
jmp 0x41d6a0
push 0x34
lea edx, [esp + 0x1a0]
push 0
push edx
call fcn.0046a470
add esp, 0xc
lea eax, [esp + 0x19c]
push eax
push 0
push 0x1005
push esi
mov dword [esp + 0x1ac], 4
mov dword [esp + 0x1b0], ebx
call edi
test eax, eax
jne 0x41d781
or eax, 0xffffffff
jmp 0x41d788
mov eax, dword [esp + 0x1bc]
shr eax, 0x10
sub eax, 0x41
mov dword [esp + 0x1c], eax
push 0x34
lea ecx, [esp + 0x138]
push 0
push ecx
call fcn.0046a470
add esp, 0xc
lea edx, [esp + 0x134]
push edx
push 0
push 0x1005
push esi
mov dword [esp + 0x144], 4
mov dword [esp + 0x148], ebx
call edi
test eax, eax
je 0x41dd10
mov eax, 0xffff
cmp word [esp + 0x154], ax
je 0x41dd10
mov ecx, dword [0x4b8a00]
mov edx, dword [0x4b89e4]
push 0
push 1
push 0x4b8800
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x28]
push 0x4b85d0
lea eax, [esp + 0x21c]
push eax
push ecx
push edx
call fcn.00441930
mov esi, eax
add esp, 0x24
test esi, esi
jg 0x41d85d
mov eax, dword [0x4b8a00]
mov ecx, dword [0x4b89e4]
push 0
push 1
push 0x4b8800
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x28]
push 0
lea edx, [esp + 0x21c]
push edx
push eax
push ecx
call fcn.00441930
mov esi, eax
add esp, 0x24
test esi, esi
jle 0x41d960
call fcn.00432450
cmp esi, 2
jne 0x41d86f
mov dword [esp + 0x38], 1
mov edx, dword [esp + 0x14]
push 0x3ef
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x34
mov esi, eax
lea eax, [esp + 0x16c]
push 0
push eax
call fcn.0046a470
add esp, 0xc
lea ecx, [esp + 0x168]
push ecx
push 0
push 0x1005
push esi
mov dword [esp + 0x178], 4
mov dword [esp + 0x17c], ebx
call edi
test eax, eax
jne 0x41d8c2
or eax, 0xffffffff
jmp 0x41d8c9
mov eax, dword [esp + 0x188]
mov edx, dword [esp + 0x40]
shr eax, 0x10
push eax
push edx
call fcn.00414770
add esp, 8
inc ebx
cmp dword [0x4b89d8], 0
je 0x41d8fd
call fcn.004309a0
mov esi, dword [esp + 0x1c]
push esi
call fcn.00430fd0
add esp, 4
call fcn.00433ac0
jmp 0x41d901
mov esi, dword [esp + 0x1c]
cmp dword [0x4b89dc], 0
je 0x41d912
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
push esi
mov dword [esp + 0x2c], 1
call fcn.0040c060
add esp, 4
cmp eax, 3
je 0x41d935
mov dword [esp + 0x30], 0
cmp eax, 4
jne 0x41d93d
mov dword [esp + 0x30], 1
push esi
call fcn.0040bf70
add esp, 4
cmp eax, 0x40
jne 0x41d953
mov dword [esp + 0x44], 1
mov eax, dword [esp + 0x24]
inc dword [esp + 0x18]
cmp byte [eax], 0
je 0x41d986
mov esi, dword [esp + 0x20]
cmp byte [esp + 0x95], 0
mov byte [esp + 0x94], 1
sete al
mov byte [esp + 0x95], al
test al, al
jne 0x41d620
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 8]
lea ecx, [esp + 0x90]
call eax
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x90]
call eax
test al, al
jne 0x41d5b1
lea ecx, [esp + 0x98]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0xa4]
mov byte [esp + 0x2320], 9
test esi, esi
je 0x41da07
mov edi, dword [esp + 0xa8]
cmp esi, edi
je 0x41d9f8
lea ecx, [ecx]
mov ecx, esi
call fcn.00411ed0
add esi, 0x88
cmp esi, edi
jne 0x41d9e0
mov esi, dword [esp + 0xa4]
push esi
call fcn.00469789
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 4
mov edx, dword [esp + 0x98]
xor eax, eax
push edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
call fcn.00469789
add esp, 4
mov dword [esp + 0x90], vtable.TrueCrypt::ForEach::Container.0
mov esi, dword [esp + 0x54]
mov byte [esp + 0x2320], 0xa
test esi, esi
je 0x41da75
mov edi, dword [esp + 0x58]
cmp esi, edi
je 0x41da66
mov ecx, esi
call fcn.00411ed0
add esi, 0x88
cmp esi, edi
jne 0x41da51
mov esi, dword [esp + 0x54]
push esi
call fcn.00469789
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 4
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
push eax
mov byte [esp + 0x2324], 3
call fcn.00469789
add esp, 4
cmp byte [esp + 0x65], 0
mov byte [esp + 0x64], 1
sete al
mov byte [esp + 0x65], al
test al, al
jne 0x41d530
xor esi, esi
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 8]
lea ecx, [esp + 0x60]
call eax
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x60]
call eax
test al, al
jne 0x41d4c4
lea ecx, [esp + 0x68]
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x74]
mov byte [esp + 0x2320], 0xc
cmp eax, esi
je 0x41db22
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
mov esi, eax
cmp eax, ecx
je 0x41db17
jmp 0x41db00
mov ecx, esi
call fcn.00411ed0
add esi, 0x88
cmp esi, dword [esp + 0x20]
jne 0x41db00
mov eax, dword [esp + 0x74]
push eax
call fcn.00469789
add esp, 4
xor esi, esi
mov edx, dword [esp + 0x68]
push edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
call fcn.00469789
add esp, 4
cmp dword [esp + 0x18], 1
mov byte [esp + 0x2320], 0
mov dword [esp + 0x60], vtable.TrueCrypt::ForEach::Container.0
jge 0x41dc5f
push 1
call fcn.00432440
add esp, 4
call fcn.00432460
test eax, eax
je 0x41db86
cmp dword [0x4b885c], esi
jne 0x41db86
cmp dword [esp + 0x10], esi
jne 0x41db8e
mov eax, 1
mov dword [0x4b885c], eax
jmp 0x41db9a
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x41db9e
mov eax, dword [0x4b872c]
mov dword [0x4b885c], eax
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [0x4dc36c], esi
jne 0x41dc8a
cmp eax, esi
jne 0x41dcd0
cmp dword [0x4dc3a4], esi
jne 0x41dbc7
mov eax, str.PASSWORD_WRONG_AUTOMOUNT
cmp dword [0x4b8734], esi
je 0x41dbcc
mov eax, str.PASSWORD_OR_KEYFILE_WRONG_AUTOMOUNT
push eax
call fcn.0044ab30
push eax
lea ecx, [esp + 0x314]
push ecx
call fcn.00409e10
mov edx, dword [esp + 0x20]
push 1
push edx
call fcn.004323b0
add esp, 0x14
test eax, eax
je 0x41dc42
push str.PASSWORD_WRONG_CAPSLOCK_ON
call fcn.0044ab30
add esp, 4
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x41dc02
lea ecx, [esp + 0x30c]
sub eax, edx
mov esi, edx
add ecx, 0xfffffffe
jmp 0x41dc20
mov dx, word [ecx + 2]
add ecx, 2
test dx, dx
jne 0x41dc20
mov edi, ecx
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x4dc368]
mov edx, dword [esp + 0x14]
push 0x30
push eax
lea ecx, [esp + 0x314]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x41dc8e
cmp dword [esp + 0x10], esi
je 0x41dc8e
mov eax, dword [0x4b872c]
mov dword [0x4b885c], eax
mov dword [esp + 0x10], esi
cmp dword [0x4dc36c], esi
jne 0x41dc8e
push str.HEADER_DAMAGED_AUTO_USED_HEADER_BAK
call fcn.00432f40
add esp, 4
jmp 0x41dc8e
cmp eax, esi
jne 0x41dcd0
mov edx, 0x4b85d0
mov ecx, 0x48
mov esi, ecx
mov eax, edx
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x41dc9c
dec ecx
mov byte [edx], 0
inc edx
test ecx, ecx
jne 0x41dca5
mov edx, 0x4b8814
mov ecx, 0x48
mov esi, ecx
mov eax, edx
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x41dcbc
dec ecx
mov byte [edx], 0
inc edx
test ecx, ecx
jne 0x41dcc5
xor esi, esi
cmp dword [ebp + 0xc], esi
je 0x41dce0
cmp dword [esp + 0x18], 1
jl 0x41d300
call fcn.00432450
cmp dword [esp + 0x38], esi
je 0x41dcf8
push str.DEVICE_IN_USE_INFO
call fcn.00432f40
add esp, 4
mov edi, dword [esp + 0x18]
cmp dword [0x4b8808], esi
je 0x41dd69
cmp edi, 1
jle 0x41dd5a
push str.HIDVOL_PROT_WARN_AFTER_MOUNT_PLURAL
jmp 0x41dd61
lea ecx, [esp + 0x98]
mov byte [esp + 0x2320], 6
call fcn.00411940
mov esi, vtable.TrueCrypt::ForEach::Container.0
lea ecx, [esp + 0x48]
mov dword [esp + 0x90], esi
mov byte [esp + 0x2320], 3
call fcn.00411940
lea ecx, [esp + 0x68]
mov byte [esp + 0x2320], 7
call fcn.00411940
mov dword [esp + 0x60], esi
xor esi, esi
jmp 0x41ddd5
jne 0x41dd69
push str.HIDVOL_PROT_WARN_AFTER_MOUNT
call fcn.00432ee0
add esp, 4
cmp dword [esp + 0x30], esi
je 0x41dd7c
push str.WARN_CBC_MODE
call fcn.00432f40
add esp, 4
cmp dword [esp + 0x44], esi
je 0x41dd8f
push str.WARN_64_BIT_BLOCK_CIPHER
call fcn.00432f40
add esp, 4
cmp dword [0x4dc3a4], esi
jne 0x41ddc2
cmp dword [0x4b8734], esi
jne 0x41ddc2
cmp edi, esi
jle 0x41ddc2
push 0x4b85d0
push esi
call fcn.0044ba00
add esp, 8
test eax, eax
jne 0x41ddc2
push str.UNSUPPORTED_CHARS_IN_PWD_RECOM
call fcn.00432f40
add esp, 4
cmp dword [esp + 0x28], esi
je 0x41ddd5
cmp dword [0x4b8a24], esi
je 0x41ddd5
call fcn.00451fd0
mov edx, 0x4b85d0
mov ecx, 0x48
mov dword [0x4dc3bc], esi
mov edi, ecx
mov eax, edx
lea esp, [esp]
mov byte [eax], 0
inc eax
sub edi, 1
jne 0x41ddf0
lea esp, [esp]
dec ecx
mov byte [edx], 0
inc edx
cmp ecx, esi
jne 0x41de00
mov edx, 0x4b8814
mov ecx, 0x48
mov edi, ecx
mov eax, edx
mov byte [eax], 0
inc eax
sub edi, 1
jne 0x41de17
dec ecx
mov byte [edx], 0
inc edx
cmp ecx, esi
jne 0x41de20
mov ecx, dword [0x4b872c]
mov dword [0x4b885c], ecx
call fcn.00433300
cmp dword [0x4b0354], esi
je 0x41de4e
mov edx, dword [0x4b89e8]
mov dword [0x4b89e4], edx
mov eax, dword [esp + 0x14]
push eax
call fcn.0040ef60
add esp, 4
call fcn.00433ac0
lea ecx, [esp + 0xe0]
mov dword [esp + 0x2320], 0xffffffff
call fcn.00411940
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2318]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2300]
xor ecx, esp
call fcn.00469f7b
mov esp, ebp
pop ebp
ret