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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc28
cmp dword [esp + 0xc3c], 0
jne 0x423995
mov eax, edx
mov edx, ecx
lea esi, [esp + 0x778]
mov ecx, esi
push eax
call fcn.004708d0
add esp, 4
cmp dword [esi], 2
jne 0x4234e1
mov eax, dword [esp + 0x77c]
mov ecx, dword [esp + 0x780]
mov dword [esp + 0x524], ecx
mov dword [esp + 0x520], eax
mov dword [esp + 0x51c], 2
jmp 0x423989
lea edi, [esp + 0x51c]
push 0x25c
push esi
push edi
call fcn.0047eb10
add esp, 0xc
cmp dword [edi], 2
je 0x423989
push 0x25c
push edi
push esi
call fcn.0047eb10
add esp, 0xc
lea edi, [esp + 0x2c4]
mov ecx, edi
mov edx, esi
call fcn.004697c0
cmp dword [edi], 0
je 0x4239a0
lea esi, [esp + 0x2c8]
lea ebp, [esp + 0x9d4]
lea ebx, [esp + 0x70]
push 0x254
push esi
push ebp
call fcn.0047eb10
add esp, 0xc
cmp dword [esp + 0x9d4], 0
je 0x4236b8
push 0x254
push esi
push ebx
call fcn.0047eb10
add esp, 0xc
lea ecx, [esp + 0x18]
mov esi, ebx
mov edx, ebx
call fcn.00469a30
mov eax, dword [esp + 0x70]
lock dec dword [eax]
jne 0x423585
mov ecx, dword [esp + 0x70]
call fcn.00477828
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x2c]
mov edx, ebx
push edi
call fcn.0046d910
add esp, 4
mov ecx, ebx
mov edx, edi
call fcn.0046aca0
test al, al
je 0x4235c3
mov ecx, ebx
mov edx, edi
push dword [esp + 0xc40]
push 1
call fcn.00423482
add esp, 8
jmp 0x42366b
mov ecx, ebx
mov edx, edi
call fcn.0046d550
test al, al
je 0x42366b
mov ecx, ebx
mov edx, edi
call fcn.0046d2c0
mov edi, edx
test eax, eax
cmove edi, eax
mov edx, eax
mov eax, str.Invalid
cmove edx, eax
mov ecx, esi
push edi
call fcn.0046d910
add esp, 4
mov ecx, dword [esp + 0x78]
cmp ecx, 2
ja 0x423625
mov eax, dword [esp + 0x70]
cmp eax, 0x80000000
je 0x42366b
test eax, eax
je 0x42366b
push dword [esp + 0x74]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x42366b
mov eax, dword [esp + 0x74]
movzx edx, word [ecx + eax - 3]
xor edx, 0x642e
movzx ecx, byte [ecx + eax - 1]
xor ecx, 0x62
xor ebx, ebx
or cx, dx
setne cl
test dword [esp + 0x70], 0x7fffffff
je 0x423665
push eax
push 0
push dword [0x4c0b18]
mov byte [esp + 0x14], cl
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov cl, byte [esp + 8]
mov bl, cl
test ebx, ebx
je 0x4236e5
mov eax, dword [esp + 0x2c]
cmp eax, 0x80000000
je 0x42368c
test eax, eax
je 0x42368c
push dword [esp + 0x30]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x18], 0
mov ebx, esi
je 0x4236a7
push dword [esp + 0x1c]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x9d4], 0
lea esi, [esp + 0x2c8]
jne 0x4236bf
mov ecx, ebp
call fcn.0041292c
lea ecx, [esp + 0x2c4]
lea edx, [esp + 0x778]
call fcn.004697c0
cmp dword [esp + 0x2c4], 0
jne 0x42353a
jmp 0x423971
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], 7
lea eax, [esp + 0x84]
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xa], ecx
mov dword [eax + 6], ecx
mov byte [esp + 0x8c], 1
mov ecx, esp
mov dword [esp + 8], edx
mov ebx, esi
push esi
mov dword [esp + 0x2c], edi
push edi
call fcn.00468310
add esp, 8
cmp byte [esp], 4
jne 0x423752
mov edi, dword [esp + 4]
jmp 0x423761
mov al, byte [esp]
mov edi, dword [esp + 4]
cmp al, 4
jne 0x423913
mov eax, esp
mov dword [esp], edi
mov ecx, ebx
mov edx, eax
lea eax, [esp + 0xc]
push eax
call fcn.00469170
add esp, 4
mov al, byte [esp + 0x70]
cmp al, 4
jne 0x4238de
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], str.blockchain
mov eax, 0x41117d
mov dword [esp + 4], eax
mov dword [esp + 0x70], 0x4a7788
mov dword [esp + 0x74], 2
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, esp
mov dword [esp + 0x78], eax
xor eax, eax
inc eax
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x40]
mov edx, ebx
call fcn.004017d0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x28]
call fcn.0046d2c0
mov edi, edx
test eax, eax
cmove edi, eax
mov ecx, ebx
mov ebx, str.Invalid
mov edx, eax
cmove edx, ebx
push edi
call fcn.00407a90
add esp, 4
mov eax, 0
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x423809
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, esp
mov dword [esp + 0x38], eax
mov eax, 0x41117d
mov dword [esp + 0x3c], eax
mov dword [esp + 0x70], 0x4a5ecc
xor eax, eax
inc eax
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x58]
mov edx, esi
call fcn.004017d0
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea ecx, [esp + 0x64]
mov edx, 0x4a75f1
push dword [esp + 0x14]
push edi
call fcn.00443412
add esp, 8
xor eax, eax
cmp ebx, eax
je 0x423881
push edi
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x54], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x4c], xmm0
mov ecx, dword [esp + 0xc40]
mov edx, dword [ecx + 8]
cmp edx, dword [ecx]
jne 0x4238b2
call fcn.0041603e
mov ecx, dword [esp + 0xc40]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 4]
mov ebx, ecx
lea ecx, [edx + edx*8]
mov edi, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 0x20], edi
movups xmm0, xmmword [esp + 0x4c]
movups xmm1, xmmword [esp + 0x5c]
movups xmmword [eax + ecx*4 + 0x10], xmm1
movups xmmword [eax + ecx*4], xmm0
inc edx
mov dword [ebx + 8], edx
jmp 0x42366b
mov edx, dword [esp + 0x74]
movzx ecx, al
call fcn.0045c6d8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0xc], 0
lea esi, [esp + 0x2c8]
je 0x423924
push dword [esp + 0x10]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x423924
movzx ecx, al
mov edx, edi
call fcn.00421268
lea esi, [esp + 0x2c8]
mov eax, dword [esp + 0x2c]
cmp eax, 0x80000000
je 0x423945
test eax, eax
je 0x423945
push dword [esp + 0x30]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x18], 0
je 0x42395e
push dword [esp + 0x1c]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x9d4], 0
jne 0x4236bf
jmp 0x4236b8
mov esi, dword [esp + 0x51c]
lea ecx, [esp + 0x778]
call fcn.0041294c
cmp esi, 2
jne 0x423995
lea ecx, [esp + 0x51c]
call fcn.00412f18
add esp, 0xc28
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x778]
call fcn.0041294c
jmp 0x423995