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

Disassembly:
sub esp, 0x314
mov eax, dword [0x48f640]
push ebx
xor ebx, ebx
push ebp
mov ecx, dword [eax + 0x604]
push esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x324]
cmp cx, bx
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ebx
jl 0x4215c4
cmp word [eax + 0x82], cx
jle 0x4215c4
movsx edx, cx
push edx
call fcn.004203f0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4215ce
cmp byte [esi + 0x110], 0x6e
je 0x421163
mov eax, dword [0x48f640]
mov word [eax + 0x74], 0x2e
jmp 0x4215ce
mov eax, dword [esp + 0x330]
mov cl, al
and cl, 9
cmp cl, 9
jne 0x421180
and eax, 0xfffe
mov dword [esp + 0x330], eax
test ah, 1
je 0x42118e
or al, 2
mov dword [esp + 0x330], eax
push 1
push ebx
push esi
mov dword [esi + 0xc0], esi
mov dword [esi + 0xc4], ebx
mov word [esi + 0x4a], bx
call fcn.00420a90
mov edi, dword [esp + 0x338]
lea ebp, [esi + 0x111]
push 0xff
push edi
push ebp
call fcn.00422f40
mov ax, word [esi + 0x60]
add esp, 0x18
test al, 2
je 0x421296
mov edx, dword [esp + 0x330]
or edx, 2
cmp ax, 2
mov dword [esp + 0x330], edx
jne 0x4212d1
lea edx, [esp + 0x24]
push edx
push edi
call fcn.0042e9e0
mov ebp, eax
push 1
push edi
mov bl, byte [edi + ebp]
mov byte [edi + ebp], 0
call fcn.00420450
add esp, 0x10
mov ecx, 0x19d
test ax, ax
jge 0x421222
mov eax, dword [0x48f640]
mov word [eax + 0x74], cx
mov eax, dword [esp + 0x14]
jmp 0x421233
movsx edx, ax
mov eax, dword [0x48f640]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + edx*4]
mov edx, dword [0x48f640]
cmp word [edx + 0x74], 0
jne 0x42128f
mov dword [esi + 0xc8], eax
cmp word [eax + 0x60], 1
jne 0x421285
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x421285
mov dx, word [eax + 0xf4]
lea ecx, [esp + 0x24]
push ecx
push edx
call fcn.0042bc10
add esp, 8
mov dword [esi + 0x54], eax
test eax, eax
jne 0x42128f
mov eax, dword [0x48f640]
mov word [eax + 0x74], 0xc
mov byte [edi + ebp], bl
xor ebx, ebx
jmp 0x4212d1
mov edx, dword [0x48f640]
mov word [edx + 0x74], cx
mov byte [edi + ebp], bl
xor ebx, ebx
jmp 0x4212d1
mov eax, dword [esp + 0x330]
mov dword [esi + 0x54], ebx
push eax
push ebp
push esi
mov dword [esi + 0xc8], ebx
call fcn.0041f970
add esp, 0xc
cmp eax, ebx
mov dword [esi + 0xe4], eax
jge 0x4212c9
mov ecx, dword [0x48f640]
mov word [ecx + 0x74], 0xc
jmp 0x4212d1
mov dword [esp + 0x20], 1
mov edx, dword [0x48f640]
cmp word [edx + 0x74], bx
jne 0x4215ce
test byte [esi + 0x60], 2
jne 0x4212ef
mov dword [esp + 0x1c], 1
mov edi, dword [esp + 0x330]
push 1
and edi, 2
push esi
mov word [esi + 0x4a], 0
mov dword [esi + 0xc0], esi
mov word [esi + 0x102], di
call fcn.00420c30
mov ecx, dword [0x48f640]
add esp, 8
movsx eax, ax
test eax, eax
je 0x42132c
movsx edx, word [ecx + 0x74]
mov dword [esp + 0x10], edx
cmp word [esi + 0x60], 1
jne 0x42134a
test di, di
jne 0x42134a
mov edx, dword [esp + 0x20]
mov edi, dword [ecx + 0x6b0]
sub edi, edx
mov dword [ecx + 0x6b0], edi
test eax, eax
jne 0x4215ce
cmp word [esi + 0x60], 2
mov ebx, dword [esp + 0x330]
jne 0x42138b
push ebx
push eax
push esi
call fcn.0041f970
add esp, 0xc
test eax, eax
jge 0x42138b
mov eax, dword [0x48f640]
mov word [eax + 0x74], 0xc
mov ecx, dword [0x48f640]
mov word [ecx + 0x76], 0xfff8
jmp 0x4215ce
mov ax, word [esi + 0x66]
mov edi, dword [0x48f640]
test al, 1
je 0x4213be
mov ecx, dword [edi + 0x5e4]
test ecx, ecx
jne 0x4213be
test bh, 0x20
jne 0x4213be
test bl, 8
jne 0x4213be
cmp ax, 0xffff
je 0x4213be
mov word [edi + 0x74], 0x226
jmp 0x4215ce
mov ax, word [esi + 0x44]
cmp ax, 2
ja 0x4215b5
mov dx, word [esi + 0x60]
cmp dx, 6
ja 0x4215b5
cmp ax, 1
je 0x4213eb
cmp word [esi + 0x48], 0
jg 0x4215b5
mov bp, word [edi + 0x6b8]
mov cx, word [esi + 0x2e]
shl bp, 7
cmp cx, bp
jbe 0x42140a
mov word [edi + 0x74], 0x28
jmp 0x4215ce
cmp ax, 2
je 0x421420
test bl, 4
je 0x421420
mov word [edi + 0x74], 0x30
jmp 0x4215ce
cmp dx, 1
jne 0x42143a
cmp cx, word [edi + 0x5ec]
je 0x42143a
mov word [edi + 0x74], 0x1a1
jmp 0x4215ce
test dx, dx
je 0x421457
mov dx, word [esi + 0x64]
cmp dx, word [edi + 0x5e0]
jbe 0x421457
mov word [edi + 0x74], 0x1a2
jmp 0x4215ce
mov ax, word [esi + 0x2c]
cmp ax, word [edi + 0x6ba]
je 0x42146f
mov word [edi + 0x74], 0x2b
jmp 0x4215ce
cmp word [esi + 0x46], 0xff
jle 0x421482
mov word [edi + 0x74], 0x2d
jmp 0x4215ce
cmp byte [esi + 0x3c], 0x63
jne 0x421498
test bh, 0x40
jne 0x421498
mov word [edi + 0x74], 0xf
jmp 0x4215ce
mov ax, word [esi + 0x48]
cmp ax, 0x1f
jg 0x4215ad
cmp word [esi + 0x4a], 0
jg 0x4215ad
test byte [esi + 0x36], 0x30
je 0x4214cf
test bl, 8
jne 0x4214cf
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4214cf
mov word [edi + 0x74], 0x35
jmp 0x4215ce
xor ebp, ebp
mov edi, esi
test ax, ax
jl 0x4215ce
xor ebx, ebx
cmp edi, ebx
je 0x421584
mov dword [edi + 0x94], ebx
mov word [edi + 0x4a], bp
mov dword [edi + 0xa4], ebx
mov dword [edi + 0xa0], ebx
mov dword [edi + 0xbc], ebx
cmp word [esi + 0x44], bx
je 0x42152e
mov edx, dword [esi + 0x54]
mov dword [edi + 0x8c], ebx
movsx ecx, bp
shl ecx, 7
mov dword [edi + 0x88], ebx
lea eax, [ecx + edx]
mov dword [edi + 0x54], eax
add eax, 0xc
mov dword [edi + 0x84], eax
jmp 0x421537
mov eax, dword [edi + 0x54]
mov dword [edi + 0x84], eax
cmp edi, esi
mov dword [edi + 0xd8], ebx
je 0x421553
push 1
push edi
call fcn.00420c30
movsx eax, ax
add esp, 8
cmp eax, ebx
jne 0x421592
test byte [edi + 0x3d], 3
jne 0x421598
cmp word [edi + 0x44], bx
je 0x421571
mov cx, word [edi + 0x46]
push ecx
push edi
call fcn.0042c7b0
add esp, 8
test eax, eax
jne 0x4215ce
mov edi, dword [edi + 0xc4]
inc ebp
cmp bp, word [esi + 0x48]
jle 0x4214de
jmp 0x4215ce
mov edx, dword [0x48f640]
mov word [edx + 0x74], 0xa5
jmp 0x4215ce
mov dword [esp + 0x10], eax
jmp 0x4215ce
mov ecx, dword [0x48f640]
mov eax, 0x34
mov dword [esp + 0x10], eax
mov word [ecx + 0x74], ax
jmp 0x4215ce
mov word [edi + 0x74], 0x17
jmp 0x4215ce
mov eax, 0xd
mov dword [esp + 0x10], eax
mov word [edi + 0x74], ax
jmp 0x4215ce
mov word [eax + 0x74], 0x16
mov esi, dword [esp + 0x14]
mov edx, dword [0x48f640]
mov di, word [edx + 0x74]
test di, di
je 0x421622
cmp word [esp + 0x1c], 0
je 0x42160d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x421600
push eax
push esi
call fcn.00421a40
mov eax, dword [0x48f640]
add esp, 8
mov word [eax + 0x74], di
push 1
push 0
push esi
call fcn.00420ed0
add esp, 0xc
mov ecx, dword [0x48f640]
pop edi
pop esi
pop ebp
mov ax, word [ecx + 0x74]
pop ebx
add esp, 0x314
ret
push esi
call fcn.00425ac0
mov dword [esi + 0xec], eax
mov al, byte [esi + 0x3c]
add esp, 4
test al, al
je 0x421657
mov ebx, dword [esp + 0x330]
mov byte [esi + 0x3c], 0x52
mov ebp, ebx
and ebp, 0x4000
neg ebp
sbb ebp, ebp
and ebp, 0xfffffff2
add ebp, 0xe
jmp 0x421660
mov ebx, dword [esp + 0x330]
xor ebp, ebp
cmp word [esi + 0x66], 0xffff
jne 0x42166e
mov word [esi + 0x66], 0
test bl, 8
jne 0x4216a4
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4216a4
test byte [esi + 0x66], 1
je 0x42169e
push 0
push str.Following_file_is_opened_without_mirror_...
call fcn.00423050
lea edx, [esi + 0x111]
push 0
push edx
call fcn.00423050
add esp, 0x10
and word [esi + 0x66], 0xfffe
and ebx, 0x7fcf
or bx, word [esi + 0x36]
test bl, 0x10
mov dword [esp + 0x330], ebx
je 0x4216c7
and ebx, 0xffbf
mov dword [esp + 0x330], ebx
mov ax, word [esi + 0x60]
cmp ax, 1
jne 0x4216db
or ebx, 2
mov dword [esp + 0x330], ebx
cmp word [esi + 0x34], bx
je 0x421747
cmp ax, 1
jne 0x4216f8
mov ecx, dword [esi + 0xc8]
mov eax, ebx
and eax, 0xfdfb
mov word [ecx + 0x34], ax
mov word [esi + 0x34], bx
mov edx, dword [0x48f640]
test byte [edx + 0x2c], 1
jne 0x421747
test bl, 8
jne 0x421747
test bp, bp
jne 0x421747
push esi
call fcn.00420e60
add esp, 4
test ax, ax
je 0x421747
mov eax, dword [0x48f640]
push 1
push 0
push esi
mov di, word [eax + 0x74]
call fcn.00420ed0
push edi
call fcn.00422fe0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x314
ret
push 1
push 1
push esi
call fcn.00420a90
mov eax, dword [esp + 0x334]
mov word [esi + 0xf6], 0
movsx ecx, word [esi + 0x48]
mov dword [esp + 0x1c], eax
add esp, 0xc
movsx eax, ax
add ecx, eax
mov edi, esi
cmp eax, ecx
jg 0x42195a
jmp 0x421784
mov ebx, dword [esp + 0x330]
mov al, byte [edi + 0x110]
cmp al, 0x6e
je 0x421796
cmp al, 0x6d
jne 0x4219af
mov dx, word [esp + 0x10]
cmp dx, word [esi + 0xf4]
jle 0x4217e0
mov dword [edi + 0xe4], 0xffffffff
mov eax, dword [esi + 0xc8]
mov word [edi + 0x34], bx
xor ebx, ebx
mov dword [edi + 0xc8], eax
mov byte [edi + 0x111], 0
mov dword [edi + 0x6c], ebx
mov dword [edi + 0x90], ebx
mov cx, word [esi + 0x102]
mov word [edi + 0x102], cx
jmp 0x4217e2
xor ebx, ebx
cmp bp, bx
mov byte [edi + 0x110], 0x79
mov dword [edi + 0xe8], ebx
mov dword [edi + 0x98], ebx
jne 0x421932
mov dx, word [esp + 0x328]
cmp word [esp + 0x10], dx
jne 0x42181c
cmp dword [esi + 0x78], ebx
je 0x42181c
mov ebp, 0x25e
jmp 0x421932
cmp word [edi + 0x44], 1
jne 0x42188f
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x124]
push pe_nt_image_headers32
push eax
push ecx
call fcn.00426640
mov ebp, eax
add esp, 0xc
cmp bp, bx
je 0x421877
mov eax, dword [0x48f640]
cmp bp, 0x191
je 0x421866
cmp bp, 0x198
je 0x421866
cmp bp, 0x1b6
je 0x421866
cmp dword [eax + 0x5fc], ebx
je 0x42186c
xor ebp, ebp
mov word [eax + 0x74], bx
mov dword [edi + 0xdc], ebx
jmp 0x421932
lea edx, [esp + 0x124]
push edx
push edi
call fcn.00426530
add esp, 8
mov ebp, eax
jmp 0x421932
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push 1
push eax
push ecx
call fcn.00425120
mov dword [edi + 0xe0], eax
mov dx, word [esp + 0x20]
mov word [edi + 0xf0], dx
mov eax, dword [0x48f640]
add esp, 0xc
mov bp, word [eax + 0x74]
cmp bp, bx
je 0x4218e4
cmp bp, 0x191
je 0x4218e0
cmp bp, 0x198
je 0x4218e0
cmp bp, 0x1b6
je 0x4218e0
cmp dword [eax + 0x5fc], ebx
je 0x421932
mov word [eax + 0x74], bx
mov eax, dword [esp + 0x10]
push eax
call fcn.0041b590
mov dword [edi + 0xd4], eax
mov eax, dword [0x48f640]
add esp, 4
mov bp, word [eax + 0x74]
cmp bp, bx
je 0x421932
cmp bp, 0x191
je 0x421922
cmp bp, 0x198
je 0x421922
cmp bp, 0x1b6
je 0x421922
cmp dword [eax + 0x5fc], ebx
je 0x421932
mov word [eax + 0x78], bx
mov ecx, dword [0x48f640]
xor ebp, ebp
mov word [ecx + 0x74], bx
mov eax, dword [esp + 0x10]
mov edi, dword [edi + 0xc4]
movsx edx, word [esi + 0x48]
movsx ecx, word [esp + 0x328]
inc eax
add edx, ecx
mov dword [esp + 0x10], eax
movsx eax, ax
cmp eax, edx
jle 0x42177d
xor edi, edi
cmp bp, di
je 0x4219ce
test byte [esi + 0x60], 2
jne 0x421972
mov eax, dword [0x48f640]
inc dword [eax + 0x564]
mov eax, dword [0x48f640]
push edi
mov ebx, dword [eax + 0x568]
inc ebx
mov dword [eax + 0x568], ebx
mov eax, dword [0x48f640]
movsx ecx, word [esi + 0x48]
mov ebx, dword [eax + 0x56c]
inc ecx
add ebx, ecx
mov dword [eax + 0x56c], ebx
mov dx, word [esi + 0xf4]
push edx
call fcn.00421dd0
add esp, 8
jmp 0x4219e0
push 1
push 0
push esi
call fcn.00420ed0
push 0x2e
call fcn.00422fe0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x314
ret
mov eax, dword [esi + 0x6c]
cmp eax, edi
je 0x4219e0
mov dword [esi + 0x90], eax
mov dword [esi + 0x6c], edi
jmp 0x4219eb
cmp bp, di
mov dword [esi + 0x90], edi
jne 0x421a26
test byte [esi + 0x60], 2
jne 0x4219fc
mov eax, dword [0x48f640]
inc dword [eax + 0x564]
mov eax, dword [0x48f640]
mov edi, dword [eax + 0x568]
inc edi
mov dword [eax + 0x568], edi
mov eax, dword [0x48f640]
movsx ecx, word [esi + 0x48]
mov edx, dword [eax + 0x56c]
inc ecx
add edx, ecx
mov dword [eax + 0x56c], edx
mov edx, dword [0x48f640]
pop edi
mov ax, bp
pop esi
mov word [edx + 0x74], bp
pop ebp
pop ebx
add esp, 0x314
ret