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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov eax, dword [ebp + 8]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0x8a4
mov word [esp + 0xb0], 0x5e16
mov byte [esp + 0xaf], 0
mov byte [esp + 0xae], 0x63
mov dword [esp + 0xa8], 0x974
mov word [esp + 0x52], 0x345b
mov cl, byte [esp + 0xae]
mov dl, cl
add dl, 0x25
mov byte [esp + 0x93], dl
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xa8]
mov ebx, edi
xor ebx, 0x978
mov edx, esp
mov dword [edx + 4], ebx
mov dword [edx], 0x42f17b
mov byte [esp + 0x43], cl
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edi
call fcn.00425460
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0xb6
mov edx, dword [esp + 0x94]
mov dword [edx + 0x10], eax
mov cx, word [esp + 0xc6]
mov word [esp + 0xc6], 0xe74a
mov eax, dword [esp + 0xa8]
mov edx, 0x982
mov esi, edx
sub esi, eax
mov eax, esp
mov dword [eax + 4], esi
mov dword [eax], 0x42f194
mov word [esp + 0x32], cx
mov dword [esp + 0x2c], edx
call fcn.00425460
mov edx, dword [esp + 0x94]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0xa8]
mov edx, 0x97f
sub edx, eax
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], 0x42f188
call fcn.00425460
mov edx, dword [esp + 0x94]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0xa8]
mov edx, 0x980
sub edx, eax
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], 0x42f145
call fcn.00425460
mov edx, dword [esp + 0x34]
imul edx, edx
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x94]
mov dword [edx], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x2c]
sub edx, eax
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], 0x42f152
call fcn.00425460
mov edx, dword [esp + 0x94]
mov dword [edx + 4], eax
mov eax, esp
mov dword [eax], fcn.00423380
call fcn.004255e0
mov dword [esp + 0x60], eax
mov edx, esp
mov dword [edx], eax
call fcn.004257c0
mov edx, dword [esp + 0x3c]
and edx, edx
mov esi, dword [esp + 0x38]
and esi, esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb8], edx
mov cx, word [esp + 0x32]
or cx, 0x7e99
mov eax, dword [eax + 0x50]
mov word [esp + 0xc6], cx
mov edx, dword [esp + 0x94]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x60]
mov dword [eax + 0x34], edx
call fcn.004230c0
mov edx, dword [esp + 0x94]
mov cl, byte [esp + 0x43]
mov byte [esp + 0xb3], cl
mov dword [edx + 0x3c], eax
call fcn.00421a30
lea edx, [esp + 0x90]
mov esi, 0x974
mov cx, 0x41e1
mov edi, dword [esp + 0x94]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x94]
mov edi, dword [0x430534]
mov dword [eax + 0x44], edi
mov eax, dword [0x430530]
mov edi, dword [esp + 0x94]
mov dword [edi + 0x48], eax
mov eax, dword [0x430520]
mov dword [esp + 0x88], eax
mov al, byte [esp + 0xae]
xor al, 0x63
mov byte [esp + 0x90], al
mov al, byte [esp + 0xae]
add al, 0x9d
mov byte [esp + 0x91], al
mov byte [esp + 0x92], 0
mov edi, dword [esp + 0xa8]
add edi, 0xfffff68c
mov dword [esp + 0x68], edi
mov ax, word [esp + 0x32]
sub cx, ax
sub esi, dword [esp + 0xa8]
mov word [esp + 0xc6], cx
mov dword [esp + 0x48], esi
mov dword [esp + 0x8c], 0
mov esi, dword [esp + 0xa8]
xor esi, 0x974
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0xa8]
xor esi, 0x977
mov edi, dword [esp + 0x88]
add edi, 3
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.00422730
mov cl, byte [esp + 0xae]
mov ch, byte [esp + 0x43]
mov byte [esp + 0xb3], ch
xor cl, 0x63
mov byte [esp + 0x54], cl
mov si, word [esp + 0x32]
xor si, 0x3d48
mov word [esp + 0xc6], si
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xa8]
add eax, 0xfffff68f
mov cl, byte [esp + 0xaf]
mov byte [esp + 0xb3], 0xed
movzx edx, byte [esp + 0x54]
and cl, 1
mov byte [esp + 0x6f], cl
mov cl, byte [esp + 0x43]
mov byte [esp + 0xb3], cl
cmp edx, eax
jge 0x42370f
mov eax, dword [esp + 0x98]
test eax, eax
setne cl
mov dx, word [esp + 0x32]
mov ax, dx
xor eax, 0x71b
mov si, ax
mov ch, byte [esp + 0xaf]
xor ch, 1
mov word [esp + 0xc6], si
xor cl, ch
and cl, 1
mov byte [esp + 0x6f], cl
test byte [esp + 0x6f], 1
jne 0x42371b
jmp 0x423a42
mov cx, word [esp + 0x32]
mov ax, cx
and eax, 0x21ca
mov dx, ax
mov word [esp + 0xc6], dx
movzx eax, byte [esp + 0x54]
mov byte [esp + 0xb3], 0xd1
movzx eax, byte [esp + eax + 0x90]
mov esi, eax
sub esi, 0x53
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], esi
je 0x423782
jmp 0x423759
mov eax, dword [esp + 0x24]
sub eax, 0x56
mov dword [esp + 0x1c], eax
je 0x4238e7
jmp 0x42376c
mov eax, dword [esp + 0x24]
sub eax, 0x57
mov dword [esp + 0x18], eax
je 0x42395d
jmp 0x4239ec
mov dword [esp + 0x84], 0x453c
mov eax, dword [esp + 0x84]
mov dword [esp + 0x4c], eax
cmp word [esp + 0x52], 0x51ad
ja 0x4238e7
mov eax, 0x7cd5
sub eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0x4c]
jb 0x4239d7
mov eax, dword [esp + 0xa8]
mov cx, word [esp + 0x32]
xor cx, 0xffff
mov word [esp + 0xc6], cx
mov cx, word [esp + 0x32]
xor cx, 0xffff
mov edx, dword [esp + 0xa8]
add edx, 0x75a3
mov word [esp + 0xc6], cx
xor eax, 0x28d2
mov dword [esp + 0x9c], eax
mov cx, word [esp + 0x32]
sub cx, cx
mov word [esp + 0xc6], cx
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x80], eax
cmp esi, edx
ja 0x423c06
movzx eax, word [esp + 0xb0]
add eax, 0x14fd
mov cx, ax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0xa8]
mov esi, 0x978
sub esi, edx
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xb8], edi
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xbc], ebx
movzx edi, byte [esp + 0x54]
imul edi, esi
xor edx, 0x974
sub edx, edi
add edx, dword [eax + 0x44]
mov word [esp + 0x56], 0x7ca
mov si, word [esp + 0x32]
xor si, 0x1048
mov di, word [esp + 0x56]
add edx, 0xfffffff8
mov word [esp + 0xc6], si
mov dword [esp + 0x70], edx
cmp di, cx
jae 0x423b92
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x34]
imul ecx, ecx
mov dword [esp + 0xb4], ecx
xor eax, 0x975
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xb4], 0x4051
mov edx, dword [esp + 0x94]
mov ecx, dword [ecx]
mov dword [edx + 0x54], ecx
mov dword [esp + 0x8c], eax
jmp 0x4239ff
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x44]
mov cx, word [esp + 0x32]
and cx, 0x50c8
mov edx, dword [esp + 0xa8]
add edx, 0xfffff68c
mov word [esp + 0xc6], cx
movzx esi, byte [esp + 0x54]
mov edi, dword [esp + 0xa8]
xor edi, 0x970
imul esi, edi
sub edx, esi
mov esi, dword [esp + 0x94]
mov cx, word [esp + 0x32]
add cx, 0x3f76
mov edi, dword [esp + 0xa8]
xor edi, 0x975
mov eax, dword [eax + edx - 8]
mov word [esp + 0xc6], cx
mov dword [esi + 0x4c], eax
mov dword [esp + 0x68], edi
jmp 0x4239ff
mov eax, 0x974
mov cx, word [esp + 0xb0]
mov edx, dword [esp + 0x94]
mov edx, dword [edx + 0x44]
mov bl, byte [esp + 0x54]
mov si, word [esp + 0xb0]
xor si, 0x2922
sub eax, dword [esp + 0xa8]
movzx edi, bl
add cx, 0x1131
shl edi, 2
mov word [esp + 0x7e], cx
sub eax, edi
mov cx, word [esp + 0x7e]
mov edi, dword [esp + 0x34]
and edi, 0x67b0
mov dword [esp + 0xb4], edi
mov bl, byte [esp + 0x43]
mov byte [esp + 0xb3], bl
mov eax, dword [edx + eax - 8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x64], eax
cmp cx, si
jae 0x423a28
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x50], eax
mov dword [esp + 0x48], 1
jmp 0x4239ff
mov eax, 0x975
sub eax, dword [esp + 0xa8]
mov dword [esp + 0x98], eax
jmp 0x423a01
mov al, 0x64
mov cl, byte [esp + 0x54]
sub al, byte [esp + 0xae]
add cl, al
mov al, byte [esp + 0xae]
add al, 0x5a
mov dl, byte [esp + 0x93]
mov byte [esp + 0x7d], cl
cmp dl, al
je 0x423a28
mov al, byte [esp + 0x43]
and al, 0x88
mov byte [esp + 0xb3], al
mov al, byte [esp + 0x7d]
mov byte [esp + 0x54], al
jmp 0x4236a2
mov cx, word [esp + 0x32]
mov ax, cx
and eax, 0x7e64
mov dx, ax
mov bl, byte [esp + 0xae]
mov word [esp + 0xc6], dx
add bl, 0x31
mov byte [esp + 0x55], 0x50
mov bh, 0x50
mov eax, dword [esp + 0x38]
mov dword [esp + 0xbc], eax
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xb8], esi
cmp bh, bl
je 0x4239ec
mov al, pe_nt_image_headers32
sub al, byte [esp + 0xae]
mov byte [esp + 0x77], al
mov al, byte [esp + 0x77]
mov cx, word [esp + 0x32]
or cx, 0x541f
mov word [esp + 0xc6], cx
mov dl, byte [esp + 0xae]
xor dl, 0x3c
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x78], esi
cmp al, dl
jbe 0x423ada
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xa8]
xor ecx, 0x974
cmp eax, ecx
jne 0x423aff
mov dword [esp + 0xbc], 0xffffffff
mov dword [esp + 0xb8], 0xffff8a40
mov eax, dword [0x43052c]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x54], eax
mov ax, word [esp + 0x32]
sub ax, 0x809
mov word [esp + 0xc6], ax
cmp dword [esp + 0x68], 0
jne 0x423b92
mov eax, dword [0x430524]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
xor edx, edx
mov esi, 0x9d0
sub esi, eax
mov edi, edx
sbb edi, ecx
mov ebx, 0x48bd
sub ebx, eax
sbb edx, ecx
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], edi
sub ebx, esi
setb al
sub edi, edx
seta ah
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov byte [esp + 0xf], ah
mov byte [esp + 0xe], al
je 0x423b76
mov al, byte [esp + 0xf]
mov byte [esp + 0xe], al
mov al, byte [esp + 0xe]
test al, al
jne 0x4239d7
jmp 0x423b84
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x4c], eax
mov eax, 0x372a
mov ecx, 0x4dcb
mov edx, dword [esp + 0xa8]
sub ecx, dword [esp + 0xa8]
sub eax, edx
mov dword [esp + 0x44], ecx
cmp eax, dword [esp + 0x44]
je 0x423a01
mov eax, dword [esp + 0x34]
add eax, 0xffffb98c
mov ecx, dword [esp + 0xa8]
mov edx, 0x974
sub edx, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0x2f4f
cmp ecx, edx
jne 0x423c06
mov eax, dword [esp + 0x94]
mov ecx, dword [0x430528]
mov dword [eax + 0x50], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret