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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf0
mov esi, esp
mov eax, dword [ebp + 8]
mov dl, 1
mov edi, 0
mov ebx, dword [0x88c650]
call fcn.0041d470
mov eax, dword [0x88c654]
call fcn.0041d480
mov eax, ebx
add eax, 0x49ce2e37
sub eax, 0x587d47e7
sub eax, 0x49ce2e37
mov dword [esi + 0xdc], eax
mov eax, edi
sub eax, 1
call fcn.0041d490
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xd4], ecx
call fcn.0041d4a0
add eax, ecx
mov ecx, 0x7fffff
mov ecx, edi
sub ecx, eax
mov eax, edi
sub eax, 0x587d47e7
add ecx, eax
sub edi, ecx
imul ebx, edi
and ebx, 1
cmp ebx, 0
sete dh
call fcn.0041d4b0
cmp eax, 0xa
setl al
mov ah, al
xor ah, 1
mov cl, dh
xor cl, ah
and cl, dh
mov ah, dh
xor ah, 1
mov ch, al
and ch, ah
xor al, 1
and dh, al
or ch, dh
mov al, cl
xor al, 1
mov ah, ch
xor ah, 1
xor dl, 0
mov dh, al
and dh, 0
and cl, dl
mov bl, ah
and bl, 0
and ch, dl
or dh, cl
or bl, ch
xor dh, bl
or al, ah
xor al, 1
or dl, 0
and al, dl
or dh, al
test dh, 1
jne 0x41c8bf
jmp 0x41d3e2
lea eax, [0x8884de]
mov ecx, 4
mov dword [esi + 0xd0], eax
mov eax, ecx
mov dword [esi + 0xcc], ecx
call fcn.00437f10
mov eax, 0x7fffff
mov eax, esp
mov ecx, dword [esi + 0xcc]
call fcn.0041d4c0
mov eax, ecx
call fcn.00437f10
mov ecx, 0x437258
mov eax, esp
mov ecx, 8
mov dword [esi + 0xc4], eax
mov eax, 0x4374d4
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov ecx, eax
mov esp, eax
mov ecx, 0x18
mov dword [esi + 0xc0], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x437498
mov esp, eax
call fcn.0041d4d0
mov dword [esi + 0xbc], eax
mov eax, 0x400000
mov eax, ecx
call fcn.00437f10
mov eax, esp
call fcn.0041d4e0
mov dword [esi + 0xb8], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0xb4], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0xe4]
mov dword [ecx], edx
mov edi, dword [esi + 0xc4]
call fcn.0041d4f0
mov dword [edi], ebx
call fcn.0041d500
mov edx, ecx
add edx, 0xd70
mov edi, dword [esi + 0xc8]
mov edi, dword [edi]
sub esp, 8
mov ebx, dword [esi + 0xbc]
mov dword [esp], ebx
mov ebx, dword [esi + 0xd0]
mov dword [esp + 4], ebx
call fcn.0041d510
call fcn.0041d520
mov dword [esi + 0xa8], edx
call fcn.0041d530
call fcn.004e59a0
add esp, 8
mov al, 1
call fcn.0041d540
mov edx, dword [0x88c654]
mov edi, ecx
add edi, 0x19447052
sub edi, 0x97ae8e69
sub edi, 0x19447052
add edi, 0xcaa2ca8e
sub edi, 1
add edi, 0x355d3572
sub edi, 0x88e06e97
sub edi, 0x68517197
add edi, 0x88e06e97
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 0
or ch, dl
or al, 0
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x41ca79
jmp 0x41d3e2
sub esp, 0xc
mov eax, esp
mov ecx, dword [esi + 0xa4]
call fcn.0041d550
mov edx, dword [esi + 0xbc]
mov dword [eax + 4], edx
mov edi, dword [esi + 0xc0]
mov dword [eax], edi
mov ecx, dword [esi + 0xac]
call fcn.004c34e0
mov eax, dword [esi + 0xc0]
call fcn.0041d560
mov edx, dword [esi + 0xa8]
mov dword [edx], ecx
call fcn.0041d570
mov dword [edx + 4], ecx
mov ecx, 0
mov ecx, edx
call fcn.004d6190
mov byte [esi + 0xa3], al
mov ecx, dword [esi + 0xbc]
call fcn.00551e20
mov al, byte [esi + 0xa3]
test al, 1
jne 0x41caf0
jmp 0x41cfcf
call fcn.0041d580
call fcn.0041d590
mov eax, dword [esi + 0xb0]
cmp dword [eax], 0x40
jae 0x41cbda
mov eax, 0
mov ecx, 0x5556d6b8
call fcn.0041d5a0
mov edi, dword [edx]
mov edi, dword [edi*8 + 0x872b0c]
mov ebx, dword [esi + 0xac]
mov edx, dword [ebx + 0xd70]
sub esp, 0x14
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x5556d6b8
mov dword [esp + 0x10], 0
mov dword [esi + 0x9c], eax
call fcn.0041d5b0
call fcn.004d73d0
add esp, 0x14
mov ecx, 0
mov edx, 0x36d07baa
mov edi, dword [esi + 0xb0]
mov ebx, dword [edi]
mov ebx, dword [ebx*8 + 0x872b08]
sub edx, 0
sub edx, ebx
add edx, 0xc92f8456
sub ecx, edx
mov edx, dword [esi + 0xac]
add edx, ecx
mov dword [edx], eax
mov eax, 0
mov ecx, dword [esi + 0xb0]
call fcn.0041d5c0
mov edi, eax
sub edi, edx
mov edx, eax
add edx, 0x96c2dec0
add edi, edx
mov edx, eax
sub edx, edi
add edx, 0x22da18eb
add edx, 1
add edx, 0xdd25e715
sub eax, 0x693d2140
add edx, eax
mov dword [ecx], edx
jmp 0x41cafa
mov eax, 0x5b942c
mov eax, dword [eax]
mov ecx, dword [esi + 0xac]
call fcn.0041d5d0
mov edi, edx
xor edi, 0xffffffff
and edi, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
mov ecx, 0x7f
mov ecx, edx
and ecx, ebx
or edi, ecx
mov ecx, eax
xor ecx, 0x200000
and ecx, 0x224ab8a1
mov ebx, 0x40000
mov ebx, eax
xor ebx, 0x224ab8a1
mov dword [esi + 0x94], eax
mov eax, ebx
and eax, 0x200000
call fcn.0041d5e0
mov eax, dword [esi + 0x94]
xor eax, 0xffffffff
and eax, 0x224ab8a1
and ebx, 0xffffffff
call fcn.0041d5f0
mov eax, dword [esi + 0x90]
or ecx, eax
mov eax, dword [esi + 0x8c]
or eax, ebx
xor ecx, eax
mov eax, dword [esi + 0x94]
xor eax, 0x33ed76ee
and eax, 0xd5b210d9
call fcn.0041d600
xor ebx, 0xd5b210d9
mov dword [esi + 0x88], eax
mov eax, ebx
and eax, 0x33ed76ee
call fcn.0041d610
call fcn.0041d620
xor eax, 0xffffffff
and eax, 0xd5b210d9
and ebx, 0xffffffff
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], ecx
call fcn.0041d630
or eax, ecx
call fcn.0041d640
or ecx, ebx
xor eax, ecx
mov ecx, 0x1f
mov ecx, edi
xor ecx, 0xa88def55
xor ecx, 0x577210aa
call fcn.0041d650
xor ebx, 0x33ed76ee
mov dword [esi + 0x78], eax
call fcn.0041d660
xor eax, 0xe09a8d2c
or ecx, ebx
or eax, 0xe09a8d2c
xor ecx, 0xffffffff
and ecx, eax
xor edx, 0xffffffff
call fcn.0041d670
xor eax, 0xffffffff
mov ebx, dword [esi + 0x94]
xor ebx, 0x4792b8a7
xor ebx, 0xc886673
or edx, eax
or ebx, 0x4b1aded4
push eax
mov eax, 0x95cf6741
xor eax, 0x6a3098be
xor edx, eax
pop eax
and edx, ebx
mov eax, dword [esi + 0x7c]
xor eax, 0xffffffff
mov ebx, dword [esi + 0x94]
xor ebx, 0x33ed76ee
mov dword [esi + 0x74], eax
call fcn.0041d680
xor eax, 0x8e5ae7ba
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x74]
or eax, ebx
call fcn.0041d690
or ebx, 0x8e5ae7ba
xor eax, 0xffffffff
and eax, ebx
mov ebx, dword [esi + 0x78]
xor ebx, 0xffffffff
xor ebx, 0x200000
and ebx, 0x200000
mov dword [esi + 0x6c], eax
mov eax, ecx
xor eax, 0xffffffff
call fcn.0041d6a0
mov eax, edx
xor eax, 0xffffffff
call fcn.0041d6b0
mov eax, dword [esi + 0x94]
xor eax, 0xce553299
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x68]
and eax, 0xce553299
call fcn.0041d6c0
mov eax, dword [esi + 0x60]
and ecx, eax
call fcn.0041d6d0
and eax, 0xce553299
mov dword [esi + 0x58], eax
call fcn.0041d6e0
and edx, eax
call fcn.0041d6f0
or eax, ecx
mov ecx, dword [esi + 0x58]
or ecx, edx
xor eax, ecx
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
or ecx, edx
xor ecx, 0xffffffff
call fcn.0041d700
or edx, 0xce553299
and ecx, edx
or eax, ecx
call fcn.0041d710
and ecx, ebx
call fcn.0041d720
xor edx, ebx
or ecx, edx
mov edx, eax
push eax
mov eax, 0x23bb7354
xor eax, 0xdc448cab
xor edx, eax
pop eax
and edx, 0x224cb763
mov ebx, dword [esi + 0x94]
xor ebx, 0x224cb763
and eax, ebx
mov dword [esi + 0x54], eax
mov eax, 0x3fffff
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x224cb763
and ecx, ebx
call fcn.0041d730
or edx, ebx
or eax, ecx
xor edx, eax
mov eax, edi
xor eax, 0x8346ff39
xor eax, 0x7cb900c6
mov ecx, dword [esi + 0x7c]
xor ecx, 0xffffffff
mov ebx, dword [esi + 0x94]
xor ebx, 0x2a1ec4e9
mov dword [esi + 0x50], eax
and eax, 0x2a1ec4e9
and edi, ebx
mov dword [esi + 0x4c], eax
mov eax, esi
mov eax, ecx
and eax, 0x2a1ec4e9
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x7c]
and eax, ebx
call fcn.0041d740
mov eax, dword [esi + 0x4c]
or eax, edi
mov edi, dword [esi + 0x48]
call fcn.0041d750
call fcn.0041d760
or edi, eax
call fcn.0041d770
xor eax, edi
call fcn.0041d780
or edi, ecx
xor edi, 0xffffffff
or ebx, 0x2a1ec4e9
and edi, ebx
or eax, edi
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xffffffff
mov edi, dword [esi + 0x94]
xor edi, 0xffffffff
and eax, edi
or ecx, eax
call fcn.0041d790
xor eax, 0x6be6ba44
xor eax, 0x580bccaa
mov edi, dword [esi + 0x78]
xor edi, 0xffffffff
call fcn.0041d7a0
push edx
mov edx, 0xebe4990d
xor edx, 0x3ff42f7e
xor ebx, edx
pop edx
mov dword [esi + 0x3c], eax
and eax, 0xd410b673
mov dword [esi + 0x38], eax
mov eax, 0x3fff
mov eax, ebx
and eax, 0x33ed76ee
mov dword [esi + 0x34], eax
mov eax, edi
and eax, 0xd410b673
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x78]
and eax, ebx
mov dword [esi + 0x2c], eax
call fcn.0041d7b0
mov dword [esi + 0x28], ecx
call fcn.0041d7c0
or eax, ecx
mov ecx, dword [esi + 0x30]
call fcn.0041d7d0
mov eax, dword [esi + 0x2c]
or ecx, eax
mov eax, dword [esi + 0x24]
xor eax, ecx
mov ecx, dword [esi + 0x3c]
or ecx, edi
xor ecx, 0xb807672d
xor ecx, 0x47f898d2
or ebx, 0xd410b673
and ecx, ebx
or eax, ecx
mov ecx, dword [esi + 0x28]
xor ecx, 0xffffffff
xor eax, 0xdbbf5870
xor eax, 0x2440a78f
call fcn.0041d7e0
xor edi, 0x4939eabf
or ecx, eax
or edi, 0x4939eabf
xor ecx, 0xffffffff
and ecx, edi
mov eax, 0x2000
mov eax, edx
and eax, ecx
xor edx, ecx
or eax, edx
mov ecx, dword [esi + 0xac]
mov dword [ecx + 4], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x88c650]
mov edi, dword [0x88c654]
mov ebx, edx
add ebx, 0x990a0a47
add ebx, 0x910c3a2c
sub ebx, 0x990a0a47
sub ebx, 0x331202aa
sub ebx, 1
add ebx, 0x331202aa
add ecx, 0x6ef3c5d4
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, al
xor bl, 1
mov bh, ch
xor bh, bl
and bh, ch
xor ah, 1
mov bl, dh
xor bl, 1
mov byte [esi + 0x23], al
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dl
xor al, 1
mov bl, byte [esi + 0x23]
xor bl, 1
mov byte [esi + 0x22], al
mov al, byte [esi + 0x23]
xor al, 0
mov byte [esi + 0x21], al
mov al, byte [esi + 0x22]
or al, bl
mov bl, byte [esi + 0x21]
or bl, 0
xor al, 1
and al, bl
xor cl, 1
mov bl, dh
xor bl, 1
mov byte [esi + 0x20], al
mov al, byte [esi + 0x23]
xor al, 0
or cl, bl
or al, 0
xor cl, 1
and cl, al
mov al, bh
xor al, 1
mov bl, ah
xor bl, 1
mov byte [esi + 0x1f], al
mov al, byte [esi + 0x23]
xor al, 0
mov byte [esi + 0x1e], al
mov al, byte [esi + 0x1f]
and al, 0
mov byte [esi + 0x1d], al
mov al, byte [esi + 0x1e]
and bh, al
mov al, bl
and al, 0
mov byte [esi + 0x1c], al
mov al, byte [esi + 0x1e]
and ah, al
mov al, byte [esi + 0x1d]
or al, bh
mov bh, byte [esi + 0x1c]
or bh, ah
xor al, bh
mov ah, byte [esi + 0x1f]
or ah, bl
xor ah, 1
mov bl, byte [esi + 0x1e]
or bl, 0
and ah, bl
or al, ah
mov ah, byte [esi + 0x20]
and ah, cl
mov bl, byte [esi + 0x20]
xor bl, cl
or ah, bl
mov cl, al
xor cl, 1
mov bl, ah
and bl, cl
xor ah, 1
and al, ah
or bl, al
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x23]
xor ah, 0
mov bh, al
and bh, 0
and ch, ah
mov byte [esi + 0x1b], al
mov al, cl
and al, 0
and dl, ah
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x1b]
or al, cl
xor al, 1
or ah, 0
and al, ah
or bh, al
mov al, bh
xor al, 1
and al, 0
mov cl, byte [esi + 0x23]
xor cl, 0
and bh, cl
mov dl, byte [esi + 0x23]
xor dl, 1
and dl, 0
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, byte [esi + 0x23]
xor cl, 1
mov dl, dh
xor dl, 1
mov ah, byte [esi + 0x23]
xor ah, 1
mov ch, cl
and ch, 1
mov bh, ah
and bh, 1
mov byte [esi + 0x1a], al
mov al, dl
and al, 1
and dh, ah
or ch, bh
or al, dh
xor ch, al
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or ch, cl
mov al, byte [esi + 0x1a]
xor al, 1
xor ch, 1
mov cl, byte [esi + 0x23]
xor cl, 1
or al, ch
or cl, 1
xor al, 1
and al, cl
mov cl, bl
xor cl, 1
mov dl, al
xor dl, 1
mov ah, byte [esi + 0x23]
xor ah, 0
mov ch, cl
and ch, 0
and bl, ah
mov dh, dl
and dh, 0
and al, ah
or ch, bl
or dh, al
xor ch, dh
or cl, dl
xor cl, 1
or ah, 0
and cl, ah
or ch, cl
test ch, 1
jne 0x41d224
jmp 0x41d468
mov al, 1
mov ecx, 0x5b9404
mov ecx, dword [ecx]
call fcn.0041d7f0
mov edi, dword [0x88c654]
mov ebx, edx
sub ebx, 0x852fdd47
sub ebx, 0x2ddc85f
add ebx, 0x852fdd47
add ecx, 0xffffffff
add ebx, ecx
sub ebx, 0x64be5326
add ebx, 0x2ddc85f
sub ebx, 0x9b41acda
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 0
mov byte [esi + 0x19], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x19]
xor bl, 0
mov bh, byte [esi + 0x19]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x19]
xor bl, 0
mov byte [esi + 0x18], al
mov al, byte [esi + 0x19]
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
xor cl, 1
mov al, dh
xor al, 1
mov bl, byte [esi + 0x19]
xor bl, 0
or cl, al
or bl, 0
xor cl, 1
and cl, bl
mov al, byte [esi + 0x18]
and al, bh
mov bl, byte [esi + 0x18]
xor bl, bh
or al, bl
mov bl, ah
xor bl, 1
mov bh, cl
xor bh, 1
mov byte [esi + 0x17], al
mov al, byte [esi + 0x19]
xor al, 0
mov byte [esi + 0x16], al
mov al, bl
and al, 0
mov byte [esi + 0x15], al
mov al, byte [esi + 0x16]
and ah, al
mov al, bh
and al, 0
mov byte [esi + 0x14], al
mov al, byte [esi + 0x16]
and cl, al
mov al, byte [esi + 0x15]
or al, ah
mov ah, byte [esi + 0x14]
or ah, cl
xor al, ah
or bl, bh
xor bl, 1
mov cl, byte [esi + 0x16]
or cl, 0
and bl, cl
or al, bl
mov cl, byte [esi + 0x17]
xor cl, 1
and cl, 0
mov ah, byte [esi + 0x19]
xor ah, 0
mov bl, byte [esi + 0x17]
and bl, ah
mov bh, al
xor bh, 1
and bh, 0
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x19]
xor ah, 1
and al, ah
or dl, al
mov al, dh
and al, 0
xor dh, 0
or al, dh
xor al, 1
mov ah, dl
xor ah, al
and ah, dl
mov al, cl
and al, ah
xor cl, ah
or al, cl
test al, 1
jne 0x41d3d8
jmp 0x41d468
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
lea eax, [0x8884de]
mov ecx, 4
mov dword [esi + 0x10], eax
mov eax, esi
mov eax, ecx
mov dword [esi + 0xc], ecx
call fcn.00437f10
mov eax, esp
call fcn.0041d800
mov dword [esi + 8], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 8
mov dword [esi + 4], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov eax, 0x18
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 8]
call fcn.0041d810
mov dword [ecx], edx
call fcn.0041d820
call fcn.0041d830
mov dword [edi], ebx
sub esp, 8
mov dword [esp], eax
call fcn.0041d840
mov dword [esp + 4], eax
call fcn.004e59a0
add esp, 8
jmp 0x41c8bf
jmp 0x41d224